|
Publicité ' | ||||||||||||||||||||||||
|
|
#361 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 7 168 ![]() |
Bonjour,
Le C et le C++ sont deux langages bien distinct, et ce n'est pas le fait de connaitre l'un qui t'aidera pour l'autre. Certes, tu connaitras la syntaxe des principales fonctions, mais dans ce cas, c'est aussi vrai pour le C++ que pour le Java (dont les syntaxes sont globalement proches). Tu consideres que le C++ est plus simple ? Il va te falloir argumenter longtemps, d'autant plus si tu inclus la derniere norme (C++0X). Pour faire une analogie, ce n'est pas parce que tu connais le francais que tu es avantage pour apprendre le hongrois plus que le grec, meme si l'alphabet est le meme en francais et en hongrois. |
|
|
21
|
|
|
#362 | |||||
Sylvain Orléans Inscription : mai 2008 Messages : 231 ![]() |
Citation:
Citation:
Citation:
Citation:
Citation:
En C, les allocations de mémoire sont très compliqué à gérer car le langage est bas niveau. Le C++ est plus haut niveau est plus explicite donc plus simple. J'en démordrai pas lol |
|||||
|
|
07
|
|
|
#363 | ||
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 7 168 ![]() |
Bonjour,
Des tutoriels qui contiennent des erreurs, il y en a plein partout, et malheureusement, celui que tu cites en fait partie. Citation:
Citation:
Les difficultes ne sont pas les memes si tu utilises un langage de bas niveau comme l'assembleur ou le C, ou un langage de (tres) haut niveau, mais ce n'est pas pour autant que le haut niveau n'inclue pas des notions qui peuvent etre tres complexes. |
||
|
|
11
|
|
|
#364 |
Sylvain Orléans Inscription : mai 2008 Messages : 231 ![]() |
Disons que personnellement, je trouve que la programmation orienté objet(C++) est plus facile à appréhender que la programmation procédurale(C) d'ou mon raisonnement.
|
|
|
17
|
|
|
#365 |
![]() ![]() Inscription : juin 2002 Messages : 2 032 ![]() |
Oui enfin le lien C++ ==> programmation orienté objet est quand même extrêmement réducteur, C++ est multiparadigme.
|
|
|
30
|
|
|
#366 |
|
Expert Confirmé Sénior
![]() Thierry ChappuisEnseignant Chercheur Inscription : mai 2005 Messages : 3 481 ![]() |
Il y a de nombreuses incompatibilités sémantiques entre le C et C++. Cet article fait un bon état des lieux des différences entre les deux langages. Il y a effictivement un sous-ensemble commun entre C et C++, mais C n'est lui même pas un sous-ensemble de C++.
Avec mes meilleures salutations Thierry
__________________
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow FAQ-Python FAQ-C FAQ-C++ +
|
|
20
|
|
|
#367 |
Webmarketer Inscription : juillet 2011 Messages : 4 ![]() |
c++
|
|
|
013
|
|
|
#368 | |
|
Membre Expert
![]() Développeur informatique Inscription : juin 2009 Messages : 1 036 ![]() |
Citation:
|
|
|
|
22
|
|
|
#369 |
Inscription : septembre 2011 Messages : 1 ![]() |
|
|
|
012
|
|
|
#370 |
Anna MichetInscription : novembre 2011 Messages : 2 ![]() |
Juste un bref panorama :
Il existe 3 types de langages communs : - les langages impératifs (C, VBA, Pascal...) - les langages objets (Java, C++, Objective-C...) - les langages fonctionnels (Caml, Scheme...) Si tu veux bien te former commence par le langage C pour comprendre rapidement la logique des structures de données et de la mémoire. Dans un deuxième temps, attaque toi à du C ou Java pour apprendre la conception objet qui est celle la plus utilisée pour des vrais projets de développement. ++ |
|
|
04
|
|
|
#371 | ||
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 440 ![]() |
Citation:
Tu peux très bien créer un fichier .cpp qui autorisera donc la syntaxe C++ et faire un programme en C sans classes,créer des pointeurs, appeler directement la mémoire... il est parfaitement possible de faire ça avec tout une hiérarchie de classes héritées ou non... ensuite en C les allocations mémoires ne sont pas plus compliqués à gérer en C,la seule différence visible c'est qu'il faut faire un cast avec malloc() qui ne se fait pas avec new(). Le C++ peut parfaitement être bas-niveau aussi rien ne t'empêche de créer un pointeur qui repose sur rien et avoir une exception ou un plantage système... Citation:
Mais sinon pas de différences un pointeur reste un pointeur en C++... il y a des bibliothèques qui permettent les smart pointers comme Boost (pas certain mais certainement ) Active Template Library de Microsoft en C++ |
||
|
|
10
|
|
|
#372 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2011 Messages : 36 ![]() |
Je me demande si cette discussion pourra prendre fin un jour car les avis sont extrêmement opposés.
Qu'y a t-il de mal à apprendre le C pour mieux comprendre le fonctionnement de la machine et ensuite s'attaquer au fameux C++ langage orienté-objet, PLUS vaste et plus complexe comme si on avait carrément affaire à un nouveau langage ( pour éviter les pièges du genre sur-ensemble du C et consort)! |
|
|
11
|
|
|
#373 | |||
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : août 2003 Messages : 4 522 ![]() |
Citation:
Mais bon, ce n'est pas comme si le sujet n'avait pas déjà été abordé dans les 20 dernières pages [Je m'en tiens au sujet de la mémoire qui semblait être le contexte de votre échange] Citation:
Citation:
Relis le fil. La réponse a été donnée plusieurs fois. Pour faire court: non. Un apprentissage du C met systématiquement de côté la partie difficile : écrire du code robuste. Le code scolaire enseigné est souvent simple et plein de failles, et du coup un faux sentiment de sécurité, voire de compréhension, et donc de mauvaises habitudes sont prises pour la suite. (hint: realloc ; test systématique des tous les codes de retour de fonctions ; ... Vous avez vu ça en cours ? Et non!) La première étape c'est et ce sera toujours l'algo. Bref, relisez TOUT le fil avant de repartir pour un tour !
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++ Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. |
|||
|
|
10
|
|
|
#374 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2011 Messages : 36 ![]() |
De toute façon Voici la vraie question qui avait été posée, ne l'oublions pas!
Pourrons nous répondre objectivement à cette question, sinon tout le reste ne seront que des détails sur lesquels les avis divergerons toujours! |
|
|
13
|
|
|
#375 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : août 2003 Messages : 4 522 ![]() |
Question qui date de 2002 (bientôt 10ans), par quelqu'un qui n'est intervenu que 2 fois sur les forums de dvpz -- OK, ses autres interventions peuvent avoir être délestées.
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++ Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. |
|
|
00
|
|
|
#376 |
Sarra OlivierDéveloppeur en systèmes embarqués Inscription : décembre 2012 Messages : 1 ![]() |
Bonjour,
je trouve que la programmation orienté objet c++ c'est meilleur pour développement |
|
|
08
|
|
|
#377 |
|
Membre éclairé
![]() Étudiant Inscription : décembre 2004 Messages : 348 ![]() |
personnellement, je suis catégorique,
sauf si tu as un niveau développeur professionnel, ce qui parait peut probable car en général les développeurs professionnels maîtrisent le C et le C++, alors étudie d'abord le C, pointeurs, récursivité, allocation mémoire, structures de données puis fais le langage que tu veux, de toute façon apprendre un nouveau langage ne te posera aucun problème si tu maîtrises le C. La réciproque avec C++ n'est pas vraie, à moins que tu maîtrises en plus des aspects spécifiques à C++ toute la partie C, langage qui est inclus dans C++. Donc ça reste la même idée : maîtriser C, que ce soit avec un compilateur C ou C++, ça ne change rien. Juste une dernière chose : je ne vois pas l'intérêt pour un étudiant en informatique d'étudier les aspects spécifiques à C++ en même qu'étudier le C, tout simplement parce que un étudiant ne comprendra pas en détail ces aspects spécifiques à C++ avant d'avoir maîtrisé le C (les pointeurs, la récursivité, l'allocation mémoire, les structures de données) voila pourquoi l'immense majorité des cursus en école/université de programmation (et pas d'informatique théorique ou je sais pas quoi !) commencent ou font au plus tard au 2ème semestre de la 1ère année des cours intensifs de C (les pointeurs, la récursivité, l'allocation mémoire, les structures de données) il y a-t-il un prof de programmation 1ère année qui va me contredire ? |
|
|
02
|
|
|
#378 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 7 168 ![]() |
Je ne suis pas prof, mais oui, je vais te contredire
Tout d'abord si, comme tu le dis, le C++ etait un sur-ensemble du C, cela voudrait dire qu'en apprenant le C++, tu connaitrais le C, ce qui n'est pas le cas (d'ailleurs, le C++ n'est pas un sur-ensemble du C). Ensuite, apprendre a bien programmer en C est vraiment different de l'apprentissage correct du C++. Dans les deux cas il est necessaire d'apprendre la gestion de la memoire, mais la programmation par references par exemple, ou les templates, sont autant de specificites propres au C++ qui ne sont pas facilement realisables en C. Bref, pour moi, il y a deux langages distincts, proches syntaxiquement a l'origine, mais qui ont beaucoup diverges depuis, et qui surtout n'ont pas le meme usage. |
|
|
20
|
|
|
#379 | |
|
Membre éprouvé
![]() Inscription : janvier 2009 Messages : 582 ![]() |
Je plussoie avec gangsoleil.
J'ai eu à choisir moi aussi entre C et C++ et j'ai vu ces différences, ce qui m'a conduit à choisir le C pour plus tard aller vers le C++. PS: Anna... c'est C++ que tu voulais dire dans un de tes posts^^ : Citation:
|
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com