OVH Cloud OVH Cloud

Newbies en C++ !

437 réponses
Avatar
Fuxy
Bonsoir à tous,


Voilà, il y a encore 1 mois, j'étais sous Windoz XP et je "bidouillais"
en VisualBasic 6.0

Depuis je suis passé sous Linux Suse 9.1 et je souhaiterais continuer à
"bidouiller", je ne cherche pas à développer des applications énormes,
mais juste des petits trucs pour m'amuser.

J'ai vu que sous Linux, le C++ avait l'air très répendu, j'ai donc
installé KDevelop qui permet de programmer en C++.

Et voilà, j'en suis à ce stade, j'ai acheté un bouquin sur le C++, j'en
suis à la page 10 ! et je me dis que ça a l'air un peu compliqué ...

Pouvez vous me conseiller ? est ce que le C++ est un bon choix pour moi
qui n'y connait rien ?

Merci pour votre aide.

A Bientot

--
Mail envoyé depuis Thunderbird
Sous Linux Suse 9.1 Pro

10 réponses

Avatar
Pierre Maurette
Loïc Joly a écrit:

TEROIN Philippe wrote:

Desole pour mon orthographe, pour ce qui est de connaitre le C avant le C++,
trouve moi un seule livre de Documentation qui fournit les commande de base
du C++, j'en est trouver aucun.

je me suis donc rabattue sur le C, pour les connaitre.


Je ne sais pas trop quels livres tu as lu, mais il est vrai que beaucoup
sont mal écrit ou présupposent la connaissance d'un autre langage (pas
parce que c'est nécessaire, mais juste parce qu'une grande partie des
lecteurs potentiels conaissaient ce langage). Maintenant, il existe
aussi des livres sans ces pré-supposés, j'ai déjà cité Accelerated C++,
S'il n'existe qu'en anglais, il présuppose la connaissance de ce

langage ...
--
Pierre


Avatar
M. B.
"Loïc Joly" a écrit dans le message de news:
cf9su1$cq6$
M. B. wrote:

Pourquoi est-ce une heresie de passer par le C pour apprendre C++ ?


[...]

Comme toujours, la réponse est que oui, il est possible d'écrire des
programmes orientés objet en C. Mais là n'est pas la question. De toute
façon, même avec le C++, les premiers programmes écrits ne seront pas
orientés objet, mais procéduraux.

Il n'en reste pas moins que le C oblige à faire constemment attention à
des détails de bas niveau, et ce dès le premier programme qu'on écrit.

Il est donc bien plus difficile d'accès. Je préfère 100 fois devoir
expliquer à des débutants std::string que char*.

Les char * seront eux aussi appris, mais plus tard, quand les concepts
de base que sont une fonction, ou une structure de contrôle seront vus,
connus, maitrisés.

C'est une question de progressivité.

Surtout que pour apprendre le C++, il est plus direct d'apprendre la
C++. Dire le contraire, ce serait prétendre qu'il faut enseigner aux
gosses de primaire le latin, et que le français viendra plus tard.



La STL n'est pas, au sens strict du terme, le langage C++. Ce n'est qu'une
bibliotheque.

Pour ma part j'ai toujours suivi la demarche de Stroustrup dans
l'enseignement
du C++.

Chapitre 1 : ... Un meilleur C ...
Chapitre 2 : Declaration et constantes
...
Types de bases
Fonctions
...

Puis :

Classes
etc..

En enfin, pour illuster : STL

MB


Avatar
Jean-Marc Bourguet
Pierre Maurette writes:

Je n'ai aucune envie de rentrer frontalement en opposition avec la
réponse de Fabien, d'autant qu'il a beaucoup plus d'expérience que moi
sur le sujet (mais je suis convaincu que lui-même maîtrise le C).


Personnellement je n'enseignerais pas le C++ en commencant par le C.
Maintenant pour un auto-didacte (quelqu'un d'autre a probablement
interet a suivre ce qui lui conseille son mentor, quoi qu'on puisse
dire sur les groupes de discussions), le probleme est de conseiller un
livre. Je ne passe pas mon temps a lire des livres pour debutants (ma
liste de livres a lire et de choses a faire contient pas mal d'item
avant ca).

Je n'en ai lu qu'un que je peux recommander (Accelerated C++) mais il
faut un mentor si on n'a vraiment aucune experience en programmation
au moins pour quelques aspects pratiques (editer le code source et
lancer le compilateur par exemple) et il est peut-etre un peu rapide.

Il y en a deux autres dont j'ai un bon a priori sur les auteurs mais
que je n'ai pas lu.

Celui de Michel Michaud (qui va s'empresser de donner les references
et de corriger les betises que je vais ecrire). Comme c'est un
support de cours, je ne sais pas comment il aborde les aspects
pratiques manquant dans Accelerated C++ (c'est des choses laissees aux
TP dans les cours que j'ai eu). C'est en francais.

Celui de Francis Glassborow (You can do it) qui est destine aux
auto-didactes sans mentor et qui si j'ai bien compris fourni toutes
les infos necessaires et un CD avec un environnement de developpement.
(Pour Windows; il utilise une bibliotheque graphique tres simple qui
est aussi disponible pour Unix -- pour info, j'ai ecrit
l'implementation pour Linux -- en fait Unix -- et X de cette
bibliotheque mais je ne suis en rien responsable de l'interface qui
est conceptuellement trop proche de windows et donc a pose quelques
problemes interessants)
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470863986.html

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 09:08:03 +0200, "PurL" :

http://casteyde.christian.free.fr/cpp/cours/cours_cpp-1.40.6-html.zip


-- début de citation --
1.9. Exemple de programme complet

#include <stdio.h> /* Autorise l'emploi de printf et de scanf. */

long double x, y;

int main(void)
{
printf("Calcul de moyennen"); /* Affiche le titre. */
printf("Entrez le premier nombre : ");
scanf("%Lf", &x); /* Entre le premier nombre. */
-- fin de citation --

Je répète donc ce que j'ai dit : le C et le C++ sont deux langages
différents. Ce n'est pas du C++, c'est juste du (mauvais) C.

Ce Christian Casteyde est un programmeur C qui un jour s'est dit
"Tiens, aujourd'hui je me déclare programmeur C++".


--
;-)

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 09:24:05 +0200, Pierre Maurette
:

S'il n'existe qu'en anglais, il présuppose la connaissance de ce
langage ...


S'il n'existe qu'en français, il présuppose la connaissance de ce
langage. Et s'il existe dans les deux langues :
- il y a des chances pour qu'il soit illisible dans une des deux
langues, car traduit avec les pieds
- il présuppose de toutes façons la connaissance d'une des ces
langues.



--
;-)

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 08:59:10 +0200, Pierre Maurette
:

Certes, mais la norme C++ elle-même se réfère à celle du C.


Peut-être. Mais la norme n'est pas un cours, mais une référence,
d'ailleurs plus écrite pour les éditeurs de compilateurs que pour les
programmeurs.



--
;-)

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 08:54:47 +0200, Pierre Maurette
:

la
réponse de Fabien, d'autant qu'il a beaucoup plus d'expérience que moi
sur le sujet (mais je suis convaincu que lui-même maîtrise le C).


Non. Je serais incapable de faire un programme sérieux en C.

Néanmoins, je suis assez d'accord avec votre démarche. A moins que
vous n'utilisiez un livre qui soit clairement "C++ premier langage",
certaines notions de C vous manqueront à la lecture de la plupart des
manuels.


Ce qui est une preuve que le bouquin est bon à jeter. Du moins s'il se
présente comme un cours pour débutants.


--
;-)

Avatar
Richard Delorme
Fabien LE LEZ wrote:

La programmation en C++ est très différente de la programmation en C.
Elle se rapproche plus de la programmation en Java ou en PHP, tandis
que la programmation en C rappelle la programmation en assembleur.


Je ne suis pas d'accord avec cela. Le langage C++ est multi-paradigme et
on peut programmer avec comme en C (programmation structurée), ou comme
en java (programmation orientée objet), ou encore autrement si on le
souhaite. De plus la programmation en C ne rappelle pas la programmation
en assembleur, qui n'est pas, sauf exception, structuré.

Considérer le C comme un prérequis pour l'apprentissage du C++ est une
pure hérésie, je pense qu'aucun programmeur C++ compétent ne me
contredira sur ce point.


Là je suis d'accord. L'apprentissage du langage C++ ne demande en
théorie aucune connaissance préalable. En pratique, beaucoup de livres
suppose la connaissance du langage C et montre ce que le langage C++
offre de plus, voire considère en premier lieu le C++ comme un C
amélioré et commence par enseigner le sous-ensemble commun au langage C.
Ce qui manque terriblement à mon avis, c'est un ouvrage qui ne
présenterais que le sous ensemble du C++ suffisant à un débutant pour
programmer proprement, en présentant par exemple std::vector, les
namespace, iostream, etc. et en omettant de parler de pointeurs, de
fonctions virtuelles, de polymorphisme, etc.

--
Richard

Avatar
M. B.
"Fabien LE LEZ" a écrit dans le message de news:

On Tue, 10 Aug 2004 08:59:10 +0200, Pierre Maurette
:

Certes, mais la norme C++ elle-même se réfère à celle du C.


Peut-être. Mais la norme n'est pas un cours, mais une référence,
d'ailleurs plus écrite pour les éditeurs de compilateurs que pour les
programmeurs.


Et ton cours n'est pas une norme.

MB


Avatar
Fabien LE LEZ
On 10 Aug 2004 09:41:01 +0200, Jean-Marc Bourguet :

Maintenant pour un auto-didacte, le probleme est de conseiller un
livre.


Il y a au moins un bon conseil à donner : s'il ne parle pas de
(std::)vector<> et (std::)string dès le départ, et longtemps avant
d'aborder la notion de pointeur, il est totalement inadapté à un
débutant.
Ce critère a l'avantage de déblayer vraiment le terrain, en virant pas
mal de merdes.


--
;-)