Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1516 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  C++ ou C: compréhension du fonctionement du hardware

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C++ ou C: compréhension du fonctionement du hardware

n°2399558
morris aka​ the moose
en décompensation maniaque
Posté le 03-11-2021 à 12:46:53  profilanswer
 

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 :hello:

Message cité 1 fois
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/ ::
mood
Publicité
Posté le 03-11-2021 à 12:46:53  profilanswer
 

n°2399559
Anonymouse
Posté le 03-11-2021 à 12:54:17  profilanswer
 

morris aka the moose a écrit :


1° J'apprendrais aussi  ma compréhension du hardware via le C++? (Je sais qu'il y a un peu d'OO en C++).  


Le C++ est beaucoup trop complexe
 

morris aka the moose a écrit :


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?  


Oui.
 

morris aka the moose a écrit :


3° si je veux faire des softs pour smartphone, qu'es ce qui est le meiux d'apprendre?


Java/Swift


Message édité par Anonymouse le 03-11-2021 à 14:51:32
n°2399633
rufo
Pas me confondre avec Lycos!
Posté le 03-11-2021 à 22:11:36  profilanswer
 

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 :D
 
Le bon compromis serait de coder en C sur du Arduino ou Raspberry Pi ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2399738
TotalRecal​l
Posté le 04-11-2021 à 15:11:25  profilanswer
 

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 :o


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2426229
Joel F
Real men use unique_ptr
Posté le 12-09-2022 à 19:41:50  profilanswer
 

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
 
 [:joel f]  [:joel f:1]  [:joel f]

n°2426259
rufo
Pas me confondre avec Lycos!
Posté le 13-09-2022 à 07:41:54  profilanswer
 

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  :whistle: ).
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" ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2427759
Joel F
Real men use unique_ptr
Posté le 02-10-2022 à 13:55:06  profilanswer
 

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.

n°2427762
rufo
Pas me confondre avec Lycos!
Posté le 02-10-2022 à 18:09:18  profilanswer
 

+1 pour python pour apprendre. Pour dire, on le trouve même sur les calculatrices TI et Casio pour le lycée :)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2428635
Robotnix
Posté le 08-10-2022 à 17:15:04  profilanswer
 

Bonjour,
 
Ca fait un bail que je n'étais pas venu sur le forum !!!  :hello:  
 
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.


Message édité par Robotnix le 08-10-2022 à 17:16:17

---------------
En ce moment sur mon topic Achat / Vente : Rien pour le moment :) ->Cliquez ici<-
n°2429890
404 Not Fo​und
Posté le 20-10-2022 à 22:26:20  profilanswer
 

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.
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.


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.)

mood
Publicité
Posté le 20-10-2022 à 22:26:20  profilanswer
 

n°2430035
gilou
Modérateur
Modzilla
Posté le 22-10-2022 à 12:49:25  profilanswer
 

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+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2430037
el muchach​o
Comfortably Numb
Posté le 22-10-2022 à 17:42:48  profilanswer
 

Je ne suis pas persuadé qu'apprendre le C ait un quelconque intérêt aujourd'hui.

n°2430653
panda_man
This time is different
Posté le 29-10-2022 à 13:39:30  profilanswer
 

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.

n°2430655
404 Not Fo​und
Posté le 29-10-2022 à 14:22:13  profilanswer
 

gilou a écrit :

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.


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.
En tout cas, ça ne sera en rien un handicap a une adaptation à un autre langage plus tard.


+1
Et dans le titre du topic, il y a "fonctionement du hardware" ...

Message cité 1 fois
Message édité par 404 Not Found le 29-10-2022 à 14:24:12
n°2430660
rat de com​bat
attention rongeur méchant!
Posté le 29-10-2022 à 17:08:41  profilanswer
 

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!

n°2430664
gilou
Modérateur
Modzilla
Posté le 29-10-2022 à 21:02:06  profilanswer
 

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+,


Message édité par gilou le 29-10-2022 à 21:02:37

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2432069
Joel F
Real men use unique_ptr
Posté le 12-11-2022 à 10:26:36  profilanswer
 

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.

n°2432085
rat de com​bat
attention rongeur méchant!
Posté le 12-11-2022 à 15:00:38  profilanswer
 

Et si tu argumentais un peu au lieu de devenir limite insultant?


---------------
Si vous ouvrez un sujet merci de ne pas le "laisser mourir" subitement et de le marquer comme "résolu" le cas échéant!
n°2432503
Joel F
Real men use unique_ptr
Posté le 17-11-2022 à 09:51:03  profilanswer
 

bah je sais pas, vu que c'est toi qui ouvert le festival de poncif hors sol, je pensais que c'était open bar.

n°2432505
TotalRecal​l
Posté le 17-11-2022 à 10:06:04  profilanswer
 

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 :o.
 
Bon après, vu que le topic date d'il y a un, on peut aussi le laisser mourir :whistle:.
 
Perso, je vote pour javascript, meilleur langage pour découvrir comment fonctionne l'IEEE 754 [:milfnduck lover:3]


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  C++ ou C: compréhension du fonctionement du hardware

 

Sujets relatifs
La fenêtre de commande clignote lors du débogage de programmes C++ dan[C] Refresh d'un fichier ouvert
[C#] Code décompilé ne recompile pas...[resolut]passage d'un tableau de structure à une DLL C
[resolu] [C] [GCC] static volatile variable et warning (ou pas)Programme tri à bulle C++
[C] Problème de pointeurCompter le nombre de caractères en C
[C++] Eviter les .h dans les .hMono Develop C# , création de class
Plus de sujets relatifs à : C++ ou C: compréhension du fonctionement du hardware


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR