C++ ou C: compréhension du fonctionement du hardware - C++ - Programmation
Marsh Posté le 03-11-2021 à 12:54:17
morris aka the moose a écrit : |
Le C++ est beaucoup trop complexe
morris aka the moose a écrit : |
Oui.
morris aka the moose a écrit : |
Java/Swift
Marsh Posté le 03-11-2021 à 22:11:36
En général, on fait plutôt le chemin inverse : d'abord on commence par apprendre le C et ensuite, on passe au C++.
Pour approfondir le hardware, faire de l'ASM devrait t'aider hardcore
Le bon compromis serait de coder en C sur du Arduino ou Raspberry Pi
Marsh Posté le 04-11-2021 à 15:11:25
rufo a écrit : En général, on fait plutôt le chemin inverse : d'abord on commence par apprendre le C et ensuite, on passe au C++. |
Souvent on commence par insister un peu sur le français aussi, ça ferait pas de mal des fois
Marsh Posté le 12-09-2022 à 19:41:50
rufo a écrit : En général, on fait plutôt le chemin inverse : d'abord on commence par apprendre le C et ensuite, on passe au C++. |
Meilleur moyen d'ecrire du C++ qui pue.
C++ est un langage a part, et il faut l'etudier en tant que tel
Marsh Posté le 13-09-2022 à 07:41:54
Certes, mais avant de savoir courir, il faut apprendre à marcher. Sinon, c'est le meilleur moyen de se casser la figure. Perso, je trouve que d'apprendre le C en premier permet d'acquérir les concepts de base de la programmation, ce qui permettra ensuite de comprendre la POO et son intérêt (ou pas ).
Charge à celui qui enseigne de bien veiller à ce que le passage de l'un à l'autre se fasse correctement et qu'il n'y ait pas de mélange.
Une autre image concernant les langues : apprendre l'occitan (par ex) très jeune permet d'apprendre plus facilement d'autres langues ensuite. En particulier, ça peut être une bonne aide si on choisit espagnol en LV2. Toutefois, les 2 langues ayant des similitudes, il peut arriver de mélanger. Si on arrive bien à séparer les 2, pas de souci, l'occitan aidera car la grammaire est identique (entre autre). Mais si on n'arrive pas à faire cette séparation, alors, là, effectivement, on va faire de l'espagnol qui "pue"
Marsh Posté le 02-10-2022 à 13:55:06
apprendre à programmer, y a Python pour.
C++ post 2011 n'a plus aucun rapport avec les idiomes C qui sont toxiques.
Ca sert à rien à casser les noix des débutants avec malloc/free quand vector et string suffisent pour avancer.
Marsh Posté le 02-10-2022 à 18:09:18
+1 pour python pour apprendre. Pour dire, on le trouve même sur les calculatrices TI et Casio pour le lycée
Marsh Posté le 08-10-2022 à 17:15:04
Bonjour,
Ca fait un bail que je n'étais pas venu sur le forum !!!
Cette question de Morris m'a interpellé, dans la mesure ou beaucoup se posent la question.
Si je n'étais pas objectif, et ayant codé professionnellement pendant plus de 10 ans en C/C++ je dirais apprend le C puis passe au C++, comme mentionné plus haut (Python et rust je ne connais pas).
Cela est entièrement valable et permet effectivement de mieux comprendre le fonctionnement d'un ordinateur comme le souhaite Morris.
Et je rejoins aussi rufo quant à l'asm et l'arduino, très formateur. Pour l'asm, rien ne t'oblige à te jeter tout de suite sur du X86. tu pourrais par exemple étudier sur de petits processeurs (juste pour comprendre le concept), comme les anciens zylog Z80
assez facile à prendre en main, voire même sur les micro contrôleurs pics 8 bits, très simples à programmer au final (Il y a quelques années, j'ai appris l'asm pic18F des en regardant le code généré par le compilateur C XC8 et le datasheet).
Par contre C++, contrairement aux idées reçues, n'est plus du C with classes, et c'est devenu vraiment un langage à part entière avec des paradigmes et une complète abstraction matérielle.
Si tu pourras facilement passer du C++ au C, moyennant au final de s'adapter aux contraintes/spécificités du langage, l'inverse (cad du c vers le C++), risque d'être effectivement toxique comme le dit à juste titre Joel F. Moi même, j'ai longtemps fait l'erreur avant de me former réellement au C++ car je faisais surtout du C avec des classes.
Même si je code moins maintenant, il y a encore beaucoup de devs qui font la même erreur malheureusement, et ces bouillies de codes persistent sur de gros projets
Pour le Smartphone, l'idéal serait le java, même si apparemment via le ndk (que je ne connais pas) permettrait de coder en c++. Mais si tu maitrises le c++, le java ne devrait pas être un soucis, cela demandera juste un peu d'adaptation et de travail.
Marsh Posté le 20-10-2022 à 22:26:20
rufo a écrit : Le bon compromis serait de coder en C sur du Arduino ou Raspberry Pi |
Pour découvrir le hardware, c'est mieux d'apprendre le C sur un AVR sans passer par l'environnement Arduino, qui abstrait/occulte beaucoup les spécificités matérielles.
Il y a énormément de débutants qui bloquent "tard" dans leurs projets parce qu'ils n'ont pas vraiment compris les timers et les interruptions.
C'est un peu dommage, d'autant plus que les datasheets ne sont pas si atroces à lire.
Le RPi, c'est Linux (mais sapusaipalibre).
Je conseillerais d'acquérir les bases du C puis de faire un petit jeu avec la librairie SDL ...
Joel F a écrit : apprendre à programmer, y a Python pour. |
Tu penses pouvoir apprendre plus rapidement le concept (et donc l'intérêt) d'un objet à quelqu'un sans lui apprendre ce qu'est un type (et une structure) en C ?
(Je dis ça en ayant galéré des décennies sans vraiment piger avant d'être illuminé par le Stroustrup 4ème édition.)
Marsh Posté le 22-10-2022 à 12:49:25
De nos jours, il faut peut être plus s'orienter vers Rust que C, non ?
Bon, je ne sais pas ce que supportent les compilos Rust comme architecture cible.
J'ai programmé en C pendant des années avant de passer a Java et JS cette décennie, et si j'avais à redémarrer, je regarderais sérieusement le Rust comme option.
A+,
Marsh Posté le 22-10-2022 à 17:42:48
Je ne suis pas persuadé qu'apprendre le C ait un quelconque intérêt aujourd'hui.
Marsh Posté le 29-10-2022 à 13:39:30
L'intérêt c'est qu'il pourra coder ce qu'il veut sur des tas de plate formes différentes, probablement pour le restant de ses jours.
En tout cas, ça ne sera en rien un handicap a une adaptation à un autre langage plus tard.
Marsh Posté le 29-10-2022 à 14:22:13
gilou a écrit : De nos jours, il faut peut être plus s'orienter vers Rust que C, non ? |
Tu peux compiler pour les AVR, mais si tu dois utiliser unsafe pour le gros de ton code, Rust est-il toujours aussi intéressant ?
panda_man a écrit : L'intérêt c'est qu'il pourra coder ce qu'il veut sur des tas de plate formes différentes, probablement pour le restant de ses jours. |
+1
Et dans le titre du topic, il y a "fonctionement du hardware" ...
Marsh Posté le 29-10-2022 à 17:08:41
el muchacho a écrit : Je ne suis pas persuadé qu'apprendre le C ait un quelconque intérêt aujourd'hui. |
C'est tout le contraire. Pour comprendre du hardware il est (à mon avis) indispensable de passer par un language genre C ou même assembleur!
Marsh Posté le 29-10-2022 à 21:02:06
404 Not Found a écrit : tu dois utiliser unsafe pour le gros de ton code, Rust est-il toujours aussi intéressant ? |
Ben justement, le but c'est de n'en avoir que quand c'est inévitable, non ?
Parce que si tu veux coder comme un sagouin, tu pourras toujours le faire, quelque soit le langage.
A+,
Marsh Posté le 12-11-2022 à 10:26:36
rat de combat a écrit : C'est tout le contraire. Pour comprendre du hardware il est (à mon avis) indispensable de passer par un language genre C ou même assembleur! |
Plébéien, rien ne vaut le code machine.
Va falloir arreter le fetichisme des langages du 19e siècle.
Marsh Posté le 12-11-2022 à 15:00:38
Et si tu argumentais un peu au lieu de devenir limite insultant?
Marsh Posté le 17-11-2022 à 09:51:03
bah je sais pas, vu que c'est toi qui ouvert le festival de poncif hors sol, je pensais que c'était open bar.
Marsh Posté le 17-11-2022 à 10:06:04
Je suis sûr qu'il y a moyen de débattre de l'opportunité de commencer par tel ou tel langage sans se foutre sur la gueule .
Bon après, vu que le topic date d'il y a un, on peut aussi le laisser mourir .
Perso, je vote pour javascript, meilleur langage pour découvrir comment fonctionne l'IEEE 754
Marsh Posté le 03-11-2021 à 12:46:53
Hello,
je connais un langage de "programmation" (plutôt procédurale je pense) et un peu de pyhton.
N'ayant pas étudié l'informatique, je souhaitais apprendre le C afin d'affiner ma compréhension du fonctionnement d'un ordinateur.
Cependant j'ai trouvé un bouqin sur le C++ et je me demandais si:
1° J'apprendrais aussi ma compréhension du hardware via le C++? (Je sais qu'il y a un peu d'OO en C++).
2° Est-ce que ma connaissance en C++ sera transférable en C et pourra m'aider à rapidiment coprendredes programmes en C et Programmer en C?
3° si je veux faire des softs pour smartphone, qu'es ce qui est le meiux d'apprendre?
Pour info je traine mes bottes numériques dans Linux et l'open source.
D'avance merci
Message édité par morris aka the moose le 03-11-2021 à 12:48:58
---------------
"La chance de voir une biche" Archlinux :: http://www.archlinux.org/ ::