Bonjour,
Je voudrais commencer à programmer en C++ (débuter donc).
Faut-il absolument apprendre le C avant de commencer le C++?
(Quel bouquin me proposez-vous pour débuter ?)
Merci d’avance et bonne journée
Bonjour,
Je voudrais commencer à programmer en C++ (débuter donc).
Faut-il absolument apprendre le C avant de commencer le C++?
(Quel bouquin me proposez-vous pour débuter ?)
Merci d’avance et bonne journée
On rêvait tous d'une Barack blanche pour Obama
Non, tu n'as pas besoin d'apprendre le C.
Pour les livres C++, tu peux consulter ici accompagnés de commentaires.
Tu peux aussi consulter les tutoriels et FAQ également sur ce site.
Bon courage
Trunks
Certaines personnes (des amis) m’avait dit que c’était indispensable d’apprendre le C pour bien débuter!
Tu me rassures Trunks, parce que ça m’embêtait d’apprendre deux fois (presque) pour la même chose.
Encore merci et bonne journée
On rêvait tous d'une Barack blanche pour Obama
Tu n'as pas plus besoin de connaitre le C avant le C++ que tu n'as besoin de connaitre le B avant le C, ou le latin avant le français.
Pour les livres, cf aussi le sujet épinglé au sujet des meilleurs livres de C++.
Blog|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. Et de toutes façons, ma BAL sur dvpz est pleine...
Ok désolé c'est fait.
Encore merci de vos réponses!
On rêvait tous d'une Barack blanche pour Obama
Puisque tu poses explicitement la question, il faut savoir que l'apprentissage ou non du C avant le C++ est une question qui divise les opinions. Il y a des gens qui effectivement te jureront qu'il faut d'abord commencer par le C et d'autres qui clameront que la règle numéro 1 est de ne surtout pas le faire.
Ici, on soutient surtout la deuxième option, mais c'est surtout dû au fait que les deux branches sont très spécialisées dans leur domaine, donc très distinctes. Moi, j'ai longtemps prêché pour la première.
Pour reprendre le parallèle de Luc Hermitte, Je ne pense pas que l'on puisse comparer le C++ au C comme on comparerait le C au B ou le français au latin, car le C est loin d'être une langue morte, d'une part, et que la majeure partie du langage C en lui-même (hors bibliothèques) existe tel quel dans le C++.
Moralité : si ton but est d'apprendre le C++ à partir de zéro et que tu sens le C comme un passage obligé et que tu as peur de t'embrouiller entre ce qui est C et C++, apprend directement le C++ avec les cours et tutoriels C++. Si, au contraire, tu veux connaître les deux langages, et qu'en plus tu souhaites être capable de repérer ce qui appartient à l'un ou à l'autre, alors commence par le C, les billes que tu auras acquises te serviront de toutes façons côté C++.
En plus, il est beaucoup plus rapide de faire le tour des notions principales du C que celle du C++ (c'est une autre chose si tu veux te spécialiser, et connaître la norme par cœur). Le truc est qu'étant donné les nouvelles possibilités, la manière d'aborder un problème et de le modéliser est complètement différente.
Le truc est que le C oblige à voir des détails bas niveau dès les premiers chapitres qu'un débutant n'est pas prêt pour voir.
En fait, la partie purement procédurale du C++ équivalente au C est plus simple que le C, même si paradoxalement le C++ est infiniment plus complexe que le C.
Quand à mon parallèle, il est dû que fait que l'approche "C->C++" est désignée par "approche historique", par opposition à la dite "moderne", qui retarde pointeurs et fonctions variadiques.
Même si le but est d'apprendre les 2 langages, je verrai le C après le C++.
Blog|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. Et de toutes façons, ma BAL sur dvpz est pleine...
Salut,
Donc en gros: les deux langages sont deux langages bien distinct et différant l'un de l'autre, c'est bien sa? (mais qui se ressemble quand même)
Si je dois d'abord passé par le C c'est juste une question de motivation?
Merci de toutes vos réponses et bonne nuit
On rêvait tous d'une Barack blanche pour Obama
Les deux langages sont très différents.
Je te demande d'essayer de compiler quelque chose de ce genre avec un compilateur C :
Rajoute à cela les exceptions, les templates, les namespaces, les références, et j'en passe et des meilleures, et tu obtiens un code à 100 000 kilomètres d'un code C. Le fait qu'ils se ressemblent et qu'ils aient une (petite) base commune est comme l'a dit Luc dû à l'histoire, C++ ayant fortement été tiré de C, et d'ailleurs C++ s'appelait à ses prémisses le "C with classes".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <iostream> using namespace std; class Entier { int n; public : Entier(int n_) : n(n_) { } operator int() const { return n; } // redéfinition des opérateurs +, -, * et / et de leurs homologues +=, -=, *= et /= (les premiers hors de la classe, les autres à l'intérieur }; int main() { Entier e(4); int n = e; cout << e << endl; return 0; }
Je te conseille également d'apprendre C++ avant C, si tu veux apprendre les deux. Sinon, tu peux passer direct au C++, si le C++ est bien ton objectif.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Oui le C++ c'est bien mon objectif!
Merci de toutes vos réponses.
ps: je comprends mieux
Bonne journée à tous
On rêvait tous d'une Barack blanche pour Obama
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager