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

  FORUM HardWare.fr
  Programmation
  C++

  Faut-il apprendre le C avant le C++ ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Faut-il apprendre le C avant le C++ ?

n°1982034
jypill77
Littéraire et informaticien !
Posté le 08-04-2010 à 15:25:31  profilanswer
 

Bonjour, j'ai pour projet sérieux d'apprendre le C++ qui est un langage qui m'attire.
J'ai acheté un bouquin sur le C et deux bouquins sur le C++
 
sur le C :
Mathieu Nebra "Apprenez à programmer en C" - Éditions "Le livre du zéro"
 
sur le C++ :
Le langage C++ - Initiez-vous à la programmation en C++ de Jesse Liberty et Bradley Jones - Éditions Pearson
C++ comment programmer (3ème edition) de DEITEL et DEITEL aux éditions Reynald Goulet
 
Alors, j'aimerais savoir si je dois passer par le C avant d'aborder le C++
 
J'ai deux sons de cloches différents dans les deux premiers bouquins.
J'aimerais avoir votre avis.
 
Merci !


---------------
http://www.apprenti-informaticien.com
mood
Publicité
Posté le 08-04-2010 à 15:25:31  profilanswer
 

n°1982039
theshockwa​ve
I work at a firm named Koslow
Posté le 08-04-2010 à 15:28:58  profilanswer
 

pour apprendre le C++, pas besoin d'apprendre le C. Ca risque plutôt de te faire prendre de mauvaises habitudes.


---------------
last.fm
n°1982093
Elmoricq
Modérateur
Posté le 08-04-2010 à 16:51:28  profilanswer
 

Voila. Deux langages à la philosophie différente, et tous les deux avec ses pièges spécifiques.
 
Question débattue en long, en large et en travers, environ tous les 6 mois. :o

n°1982119
jypill77
Littéraire et informaticien !
Posté le 08-04-2010 à 17:48:56  profilanswer
 

Heu oui effectivement, j'ai des avis différents.
Je crois que je vais commencer par le C puis enchaîner avec le C++, en essayant de ne pas me mélanger les pinceaux.
Merci à vous en tous cas.


---------------
http://www.apprenti-informaticien.com
n°1982124
Elmoricq
Modérateur
Posté le 08-04-2010 à 17:56:33  profilanswer
 

[:pingouino]
 
Ne fais surtout pas ça : apprendre le C dans le seul but d'apprendre ensuite le C++, c'est le meilleur moyen de s'y perdre, d'apprendre de mauvais automatisme concernant le C++, etc.

n°1982143
Un Program​meur
Posté le 08-04-2010 à 19:00:34  profilanswer
 

C'est vraiment pas une bonne idée de passer par le C pour apprendre le C++, d'autant moins si tu dois apprendre la programmation en plus (si tu veux un bouquin ou deux, Accelerated C++, et ceux de Francis Glassborow ont généralement les faveurs même de ceux qui critiquent facilement; et je sais que leurs auteurs connaissent bien le sujet).


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1982148
gilou
Modérateur
Modzilla
Posté le 08-04-2010 à 19:10:12  profilanswer
 

Je suis tout a fait d'accord avec les intervenants précédents. N'apprends pas la C avant le C++. Apprends d'abord le C++ avec Accelerated C++ de Koenig et Moo, puis quand tu maitriseras le C++, apprends alors le C si tu en as besoin.
Ou bien, apprends le C pour le C, mais surtout pas comme langage préparatoire au C++, ce serait une bien mauvaise idée.
[Pour prendre un parallèle, apprendre a abattre un arbre avec une hache n'est pas quelque chose qui aide a apprendre le maniement d'une tronçonneuse].
A+,

Message cité 2 fois
Message édité par gilou le 08-04-2010 à 19:13:46

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1982154
GrosBocdel
Posté le 08-04-2010 à 19:19:36  profilanswer
 

gilou a écrit :


[Pour prendre un parallèle, apprendre a abattre un arbre avec une hache n'est pas quelque chose qui aide a apprendre le maniement d'une tronçonneuse].
A+,


 
Non, mais ça peut quand même éviter de se prendre l'arbre sur la gueule  :D

n°1982163
jypill77
Littéraire et informaticien !
Posté le 08-04-2010 à 19:41:40  profilanswer
 

Je vais vous écouter !
Ça m'arrange, j'avais surtout envie d'apprendre le C++


---------------
http://www.apprenti-informaticien.com
n°1982272
jesus_chri​st
votre nouveau dieu
Posté le 08-04-2010 à 22:56:02  profilanswer
 

Connaissant les 2 langages, je conseille également de ne pas apprendre le C comme introduction au C++, mais de tout de même l'apprendre par la suite, car :
 

  • Un codeur C++ qui connait pas le C ça fait bizarre, généralement l'un implique l'autre
  • Connaître le C permet de mieux comprend les mécanismes internes du C++, qui même s'ils ne sont pas dans la norme, sont des normes "de facto" (comment marche une v-table...)
  • Toute fonction C est aussi une fonction C++, donc si tu ne connais pas le C, en vrai il te manque qlq chose du C++. std::sort c'est du C++, std::qsort aussi :p

mood
Publicité
Posté le 08-04-2010 à 22:56:02  profilanswer
 

n°1982291
jypill77
Littéraire et informaticien !
Posté le 09-04-2010 à 03:01:55  profilanswer
 

Un Programmeur a écrit :

C'est vraiment pas une bonne idée de passer par le C pour apprendre le C++, d'autant moins si tu dois apprendre la programmation en plus (si tu veux un bouquin ou deux, Accelerated C++, et ceux de Francis Glassborow ont généralement les faveurs même de ceux qui critiquent facilement; et je sais que leurs auteurs connaissent bien le sujet).


 

gilou a écrit :

Je suis tout a fait d'accord avec les intervenants précédents. N'apprends pas la C avant le C++. Apprends d'abord le C++ avec Accelerated C++ de Koenig et Moo, puis quand tu maitriseras le C++, apprends alors le C si tu en as besoin.
Ou bien, apprends le C pour le C, mais surtout pas comme langage préparatoire au C++, ce serait une bien mauvaise idée.
[Pour prendre un parallèle, apprendre a abattre un arbre avec une hache n'est pas quelque chose qui aide a apprendre le maniement d'une tronçonneuse].
A+,


 
Ce sont des bouquins en anglais non ?
Accelerated C++ cité deux fois ...
Je vais voir sur Amazon !


---------------
http://www.apprenti-informaticien.com
n°1982292
jypill77
Littéraire et informaticien !
Posté le 09-04-2010 à 03:03:46  profilanswer
 

Je me suis rendu sur amazon.com et je suis tombé sur des ouvrages intéressants comme "accelerated c++" et le dernier DEITEL qui en est à sa 7ème édition.
Comme je dois parfaire mon anglais, je vais sûrement passer commande, dès que je serai en fonds.


Message édité par jypill77 le 10-04-2010 à 23:22:00

---------------
http://www.apprenti-informaticien.com
n°1982683
boblenain2​00
Posté le 09-04-2010 à 19:29:13  profilanswer
 

Y'a que le Site du zero qui conseille (pire, qui requiert) d'apprendre le C avant le C++ ..

n°1982692
esox_ch
Posté le 09-04-2010 à 21:07:59  profilanswer
 

Mouais, enfin bon aussi de lire le site du zéro, ça requiert quand même d'être un tant soi peu larguer hein [:pingouino]


Message édité par esox_ch le 09-04-2010 à 21:08:15

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1982693
snafu8
Posté le 09-04-2010 à 21:14:39  profilanswer
 

Sinon t'as "Thinking in C++" de Eckel, qui est dispo en ligne http://www.planetpdf.com/developer [...] entID=6634 et qui est pas mal (anglais only par contre).

n°1982696
jypill77
Littéraire et informaticien !
Posté le 09-04-2010 à 21:32:10  profilanswer
 

Heu j'avais déjà utiliser mes deux livres en français !
Sinon Mathieu Nebra ou Claude Delannoy ?

n°1982697
boblenain2​00
Posté le 09-04-2010 à 21:39:03  profilanswer
 

J'aime aucun des deux bouquins. A la limite, je trouve celui du SdZ plus en accord avec son public ..
Pour le C++, j'ai beaucoup aimé le Deitel et le Savitch.

n°1982699
darkpengui​n
Posté le 09-04-2010 à 21:47:06  profilanswer
 

+1
 
j'utilise actuellement le C et le C++ en parallèle sur des projets différents, et pour moi ce sont deux langages distincts, avec une syntaxe qui se ressemble
 
à la limite, python m'a plus aidé dans l'apprentissage du C++ que le C


---------------
Counting all the assh*les in the room, well I'm definitely not alone...
n°1982700
gilou
Modérateur
Modzilla
Posté le 09-04-2010 à 21:47:32  profilanswer
 

Penser en C++, tu trouves le premier tome en français ici: http://bruce-eckel.developpez.com/ [...] icpp2vol1/ (et le tome 2 en anglais aussi)
A+,


Message édité par gilou le 09-04-2010 à 21:48:07

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1982777
Joel F
Real men use unique_ptr
Posté le 10-04-2010 à 13:58:36  profilanswer
 

B. Eckel ou B. Garcia sont trés bien.
on evitera le site du zero et les bouquins de casteyde.

n°1986333
jypill77
Littéraire et informaticien !
Posté le 21-04-2010 à 15:07:21  profilanswer
 

C'est décidé soit je commande sur Amazon.com le DEITEL 7ème édition ou l'ouvrage encensé par 72 commentaires élogieux : "C++ PRIMER PLUS". Ou je me contente de la 3ème édition du DEITEL. En français.
Qu'en pensez-vous ?


---------------
http://www.apprenti-informaticien.com
n°1986337
kadreg
profil: Utilisateur
Posté le 21-04-2010 à 15:17:19  profilanswer
 

Key Phrases : loan rate, rating book, lottery winner, Share Price, Total Worth
 
[:implosion du tibia]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2092040
karena00
karena kalucky
Posté le 29-07-2011 à 10:56:05  profilanswer
 

Jypill pa besoin de c pour apprendre c++, mais si tu veux tamuser un peu tu peux l'aprrendre mais c'est pas necessaire.....
 
by....

n°2092114
Elmoricq
Modérateur
Posté le 29-07-2011 à 14:11:35  profilanswer
 

karena00 a écrit :

Jypill pa besoin de c pour apprendre c++, mais si tu veux tamuser un peu tu peux l'aprrendre mais c'est pas necessaire.....
 
by....


 
Deux messages sur le forum, deux déterrages de sujets vieux d'un an ou davantage, deux réponses complètement dénuées d'intérêt, et usage d'une grammaire pour le moins douteuse...
Encore 3 ou 4 messages comme ça et je sens poindre l'amendement cracotte78.

n°2092205
Pascal le ​nain
Posté le 29-07-2011 à 20:27:30  profilanswer
 

Quelqu'un m'explique pourquoi ne faut-il pas apprendre le C avant C++ ?
Pour moi qui ai appris le C puis le C++, je me vois mal manipuler des structures et des objets sans savoir comment ca fonctionne derriere...
Le C++ ca reste du C avec des classes et un peu de sucre syntaxique...

n°2092214
Elmoricq
Modérateur
Posté le 29-07-2011 à 20:59:00  profilanswer
 

C'était le cas dans les années 80 mais au fil des normes les langages divergent : le typages est (un peu) plus fort en C++, le type naturel n'est pas le meme, ni l'allocation de mémoire, les inclusions ont une syntaxe différente, etc.
Sans compter l'essentiel : ce n'est pas du tout le meme paradigme entre les deux langages.
Le C++ est assez loin aujourd'hui du "C with classes" du début.

 

Alors oui les deux syntaxes se ressemblent fortement sur pas mal de points encore, mais apprendre le C dans le seul but d'aborder le C++ ensuite, il n'y a pas grand intéret, voire c'est contre-productif parce que ça force à désapprendre pas mal de choses.


Message édité par Elmoricq le 29-07-2011 à 21:00:26
n°2092220
Joel F
Real men use unique_ptr
Posté le 29-07-2011 à 22:54:58  profilanswer
 

Pascal le nain a écrit :


Le C++ ca reste du C avec des classes et un peu de sucre syntaxique...


 
1982 a appelé, il faudrait que tu rentres ...
 
C++ a reelement diverger depuis un bon moment. Se limiter a du C with classes c'est manquer 80% des reelles fonctionalites du langage.

n°2092242
GrosBocdel
Posté le 30-07-2011 à 09:38:57  profilanswer
 

Les pseudos à numéro ça raconte n'importe quoi
memset, memcpy, strcmp et après on passe au c++

n°2092249
gilou
Modérateur
Modzilla
Posté le 30-07-2011 à 10:52:14  profilanswer
 

Pascal le nain a écrit :

Le C++ ca reste du C avec des classes et un peu de sucre syntaxique...

Sortir ce genre de phrase montre exactement ce qu'il arrive quand on apprend le C avant le C++: On ne voit plus le C++ qu'à travers le formatage du C, et on fait du C avec des classes et non pas du C++.
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2092265
GrosBocdel
Posté le 30-07-2011 à 13:59:36  profilanswer
 

Tu le caserais où l'apprentissage de l'alignement des données dans la classe, la mise à jour des champs de la classe un peu efficace etc?
 
je demande juste, j'ai appris sur le tas. C'est peut être un cours qui a un autre nom


Message édité par GrosBocdel le 30-07-2011 à 14:02:01
n°2092285
gilou
Modérateur
Modzilla
Posté le 30-07-2011 à 15:08:29  profilanswer
 

Belle illustration de ce que je disais d'ailleurs, penser a memcpy avant de penser a copy ou uninitialized_copy, i.e. penser à copier une zone mémoire plutôt que penser à copier des objets.
 
> Tu le caserais où l'apprentissage de l'alignement des données dans la classe
Dans ce qu'on apprends quand on maitrise toutes les bases du langage. Parce que ce genre de chose est complètement OS dépendant, et que si on n'est pas dans un contexte très particulier (par exemple le codage d'un driver), avoir à s'en préoccuper est souvent l'indice d'une mauvaise structuration des données.
 
A+,


Message édité par gilou le 30-07-2011 à 15:09:54

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2092288
Pascal le ​nain
Posté le 30-07-2011 à 15:37:20  profilanswer
 

Merci pour vos reponses.
Pourriez-vous me fournir un exemple ou une situation ou je serai pris a défaut si je pense le C++ comme du C très sucré ?

Message cité 1 fois
Message édité par Pascal le nain le 30-07-2011 à 15:37:37
n°2092291
boblenain2​00
Posté le 30-07-2011 à 15:42:53  profilanswer
 

Passage par pointeur d'un objet non modifié pour les performances au lieu d'une référence constante ?
 
Y'a des millions d'exemples ..

n°2092298
gilou
Modérateur
Modzilla
Posté le 30-07-2011 à 16:50:05  profilanswer
 

Pascal le nain a écrit :

Merci pour vos reponses.
Pourriez-vous me fournir un exemple ou une situation ou je serai pris a défaut si je pense le C++ comme du C très sucré ?

Ecrire des algorithme génériques utilisant des itérateurs sans se préoccuper de savoir si les données sont implémentées avec tel ou tel type de conteneur, ça ne me semble pas être du C sucré, et ce même avec du glycogène.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2092361
Joel F
Real men use unique_ptr
Posté le 31-07-2011 à 08:36:55  profilanswer
 

toute la programamtion generique en fait, toute la metaprogrammation, tout le vrai object a base de RAII etc ... les exceptions, ...

n°2092363
Tangrim
Des bisous et des nounours !
Posté le 31-07-2011 à 09:16:11  profilanswer
 

boblenain200 a écrit :

Y'a que le Site du zero qui conseille (pire, qui requiert) d'apprendre le C avant le C++ ..


 

snafu8 a écrit :

Sinon t'as "Thinking in C++" de Eckel, qui est dispo en ligne http://www.planetpdf.com/developer [...] entID=6634 et qui est pas mal (anglais only par contre).


 
Il existe une traduction française:
http://bruce-eckel.developpez.com/ [...] icpp2vol1/
 
L'introduction montre bien les efforts à faire pour passer du C au C++ sans ne faire que du C avec des classes.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
n°2092595
Tangrim
Des bisous et des nounours !
Posté le 01-08-2011 à 13:57:37  profilanswer
 

Joel F a écrit :

B. Eckel ou B. Garcia sont trés bien.
on evitera le site du zero et les bouquins de casteyde.


Petite question car je n'ai pas lu son cour C++, que reproche-t-on aux bouquins de Casteyde ?  
J'avais eu au contraire d'excellents commentaires dessus.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
n°2092699
Un Program​meur
Posté le 01-08-2011 à 17:07:10  profilanswer
 

Au moins les problèmes de fonds de toute approche "C/C++":
- apprendre un langage c'est plus qu'apprendre la syntaxe et la sémantique de celui-ci, c'est apprendre comment les utiliser en pratique, et donc en respectant les idiomes.  Pour la même chose, on va utiliser des idiomes différents en C et en C++.  Les cours C/C++ que j'ai vu au mieux enseignent les idiomes du C et ne voient le C++ qu'à travers un filtre C, au pire n'enseigne même pas à programmer en C mais se contente d'en donner la syntaxe et la sémantique.
- si en plus d'apprendre les langages, on veut apprendre la programmation, on a des problèmes supplémentaires à apprendre le C avant le C++. Le C est un langage mal foutu du point de vue ordre de progression: il faut comprendre une série de concepts (en particulier les pointeurs) avant de pouvoir faire quoi que ce soit d’intéressant. Le C++ permet d'avoir un ordre plus simple à aborder (on finit par tout voir, mais pas dans le même ordre).

 

Un passant, le dernier bouquin de Stroustrup -- Programming: Principles and Practice using C++ -- me semble recommandable pour faire que ce le titre dit, apprendre à programmer en utilisant le C++ comme langage (c'est pas nécessairement le meilleur choix si on sait déjà programmer -- The C++ Programming Language est mieux dans ce cas -- encore qu'il dit clairement des choses trop souvent passées sous silence ailleurs).


Message édité par Un Programmeur le 01-08-2011 à 17:07:41

---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°2092724
Joel F
Real men use unique_ptr
Posté le 01-08-2011 à 18:53:15  profilanswer
 

Tangrim a écrit :


Petite question car je n'ai pas lu son cour C++, que reproche-t-on aux bouquins de Casteyde ?  
J'avais eu au contraire d'excellents commentaires dessus.


 
Il fait du C--

n°2092734
Un Program​meur
Posté le 01-08-2011 à 19:29:53  profilanswer
 

Joel F a écrit :


 
Il fait du C--


 
http://www.cminusminus.org ?


---------------
The truth is rarely pure and never simple (Oscar Wilde)
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  Faut-il apprendre le C avant le C++ ?

 

Sujets relatifs
[C] Aide pour mon Puissance 4 ! =)Comment compiler un fichier C#
Divers questions en C[C] Récuperer le nom d'un fichier zip
lire un fichier .mat en C[résolu] C#/ process cmd.exe et sequence ALT + <020>ou CTRL+T
Dépendance C++/cli[Visual C++ / Qt / OpenGL] LNK2001 : unresolved external symbol
Apprendre le C#Apprendre C++
Plus de sujets relatifs à : Faut-il apprendre le C avant le C++ ?


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