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
Alain Naigeon
"Jean-Marc Bourguet" a écrit dans le message news:


J'ai pas commencé les maths par Bourbaki non plus. J'ai
jamais lu Bourbaki ni même eu un cours à ce niveau de
construction à partir des bases.


Oui mais les tableaux de char ne sont pas implémentés
avec std:string, il me semble bien que c'est juste l'inverse ;-)

La pédagogie de TC++PL 1ère et 2ième édition est en effet
bien reconnue... pour être déficiente. Je connais
quelqu'un qui a appris le C++ dans la 1ère édition qui l'a
brulée parce qu'il ne pouvait plus la voir.


Il reste quand même tous les autres, ce qui fait beaucoup de
monde si l'on exclut les culottes courtes.


Je ne crois pas qu'on rende service à un débutant en le
lancant à l'eau dans un marais infesté de crocodiles.


Mais ça c'est vraiment un peu méprisant d'enfermer son
auditoire dans une étiquette de débutant. Enseigner à
utiliser sans savoir ce qu'on utilise, c'est évidemment
rassurant pour le prof qui est sûr d'avoir en face de lui
d'éternels débutants. J'ai l'impression que vous essayez
de refaire aujourd'hui, en informatique, le coup du
taylorisme.

Ca tiens du procès d'intention.


Aucune méchanceté de ma part, au sens où j'aurais
sous-entendu une volonté délibérée, etc. Mais on peut
participer à une tendance très forte aujourd'hui, sous
la pression des évènements. Et, pourquoi pas, avec les
meilleurs intentions du monde ; quel prof ne serait pas
rongé à la longue par la constatation que ses élèves
sont au chômage ? Et c'est vrai qu'on écrit plus vite
et plus sûrement avec std:string. Le seul problème,
c'est que celui qui a inventé std:string a reçu une formation
tellement "mauvaise" qu'elle lui a inculqué l' "insight" pour
pouvoir l'inventer. Evidemment cette formation ignorait
std:string :-)
C'est là où, sans intention méchante, je dis que le but de
l'enseignement n'est pas forcément la production immédiate.
A savoir, il peut y avoir autant d'enseigements que de buts
qu'on lui assigne. J'espère que ce n'est pas une question
taboue, tout de même.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France

Avatar
Alain Naigeon
"Jean-Marc Bourguet" a écrit dans le message news:



ce qui interdit de qualifier de "merde" une autre façon de
faire.


Est-ce que je l'ai fait?


Ce n'était pas toi, mes excuses ! Il y a, en gros, deux thèses,
et je répondais (un peu vite) à un défenseur de la thèse
opposée à la mienne - dans un NG public, ça peut se concevoir,
de toute façon, dans le contexte, ce mot "merde" n'avait pas
valeur d'injure.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France


Avatar
Alexandre Bacquart
Fabien LE LEZ wrote:

A condition de vouloir rester débutant. J'ai des doutes sur la
formation qu'apporte l'apprentissage du Basic.


Il a le mérite d'être facile à apprendre pour les autoditactes. Il
apporte les bases de la programmation, de la manière la plus simple
possible. Introduction de concepts dont peu de langages peuvent se
passer : les variables, les structures de contrôle, les fonctions...
c'est déjà tout un monde à découvrir pour beaucoup de gens. En C++, ce
monde là se perd au beau milieu d'une puissance qui les dépasse souvent
et d'outils spécifiques à dompter.

On commence par son radio-réveil, puis le magnétoscope... peut-être les
tableurs... BASIC ou autres langages faciles d'accès... puis pourquoi
pas C++. Je pense qu'il faut être exceptionnellement motivé et courageux
pour apprendre seul C++ sans aucune notion de programmation (et moi
aussi je suis autodidacte). Mais peut-être y a-t-il d'autres
autoditactes ici qui sont passés directement à C++, dans ce cas
j'espèrent qu'ils ne manqueront pas de nous faire part de leur
expérience (et des livres avec lesquelles ils ont abordé la chose).


--
Tek

Avatar
Mario
Wow! Vive la francophonie! Quel discussion, que de mots.

J'espère que Fuxy en a assez pour réfléchir pendant ses heures creuses...
Surtout, choisi un livre en anglais, c'est plus court :-)

Bonne nuit.

--
Mario


"Fuxy" a écrit dans le message de
news:cf60rq$n9$
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


Avatar
Luc Hermitte
"M. B." wrote in
news:cf9tpa$s4s$:

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



Tu veux parler de :
http://www.research.att.com/~bs/bs_faq.html#prerequisite
? (pdf très intéressant)


--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>

Avatar
Luc Hermitte
drkm wrote in
news::

Moi je distingue deux choses :
- Apprendre le C++ avec les concept de la POO - Apprendre
l'utilisation d'une bibliothèque : MFC, VCL, STL, ...


Tu enseignerais donc, si je comprend bien, l'allocation dynamique,
l'utilisation des pointeurs, la conception de modèles de classes,
etc., et pas l'utilisation de std::vector<> ? Dans un cours destiné
aux débutants ?


J'irais même plus loin.
Débutant ou pas, il y a un ordre logique. En Ada, langage fort pédagogique,
on ne va apprendre à faire des allocations dynamiques avant de manipuler
des chaines et des tableaux. On utilise les abstractions que le langage
nous fournit en standard.


Continuer à vouloir montrer les "char*" _avant_ un type chaine quelconque
[1], dans un cours qui _présente_ le langage n'a aucun intérêt. En ce qui
me concerne, les raisons historiques ne suffisent pas à justifier un tel
_ordre_ de présentation.

Car au fond, ce qui me gêne avec ces anciennes approches, c'est l'ordre. Le
comment on met en oeuvre les chaines ou les vecteurs, cela peut être fort
intéressant, mais ne se justifie pas au début d'une formation pour
"débutant" en C++. À la fin, avant le polymorphisme (peut-être), OK. Avant,
je trouve que c'est trop tôt, et que c'est noyer l'élève dans des détails
pas si utiles que ça.

char buf[80]; // ou n'importe quelle allocation dynamique
/*std::*/cin >> buf ;
?
AMA, c'est complètement assassin (déjà je me demande pourquoi une telle
syntaxe est acceptée par les compilateurs (la norme, je sais) alors que le
typage fort du C++ nous permet de détecter ce genre de constructions).

Les abstractions possibles (standard ou propriétaires) permettent d'avoir
un code aussi simple, et sans buffer-overflow-et-son-petit-frère-
l'injection-de-code. (dans l'approche dynamique, c'est encore pire car cela
revient à leur donner un code qui un jour les trahira à cause d'un new qui
foirera)
Pourquoi vouloir leur apprendre ça au début ? Alors que l'on sait très bien
que l'on ne leur montrera jamais le bon code par manque de temps ? Et qu'au
mieux on aura une note de bas de page ou un commentaire oral.

Quel est le problème avec leur donner le nom du type chaine ? Dans les
langages où un mot clé est réservé à cet usage, on ne s'embête pas à savoir
comment c'est mis en oeuvre pour pouvoir s'en servir. Et les débutants
complets (pas seulement dans le langage) arrivent parfaitement (aussi bien
que ce qu'ils comprennent le reste) à s'en servir. Ils apprennent la
syntaxe d'utilisation et cela leur suffit dans un premier temps.


[1] Type chaine _quelconque_, car au fond ce n'est pas si important à mon
goût. std::string a un avantage certain dans la mesure où il s'agit du type
standard que l'on trouvera sur tous les compilos récents. Mais utiliser
wxString, CString ou Ansistring est toujours 100 fois que les mêmes
exemples/TD/TP traités à l'ancienne.



Quant aux autres choses : pointeurs vs références, vecteurs vs new, ...
C'est exactement la même chose. On montrera les pointeurs, on montrera new,
mais pas à la 3e ou 4e leçon si ce n'est pas avant. C'est n'importe quoi de
le faire au début.

De plus, au départ du troll, il n'a jamais été question de montrer la
partie OO avant le reste -- ceci dit, c'est encore un autre débat sur
lequel je n'ai pas d'opinion tranchée. OK, avec les chaines et les
vecteurs, on introduit des abstractions avant les pointeurs. Ce sont des
classes, mais ce sont aussi avant tout des abstractions et c'est ça qui
prime. Pas besoin de savoir comment on conçoit une classe pour se servir de
son interface publique.

--
Luc Hermitte <hermitte at free.fr>, feeding the troll
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>


Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 21:15:37 +0200, Loïc Joly
:

Je ne trouve pas l'apprentissage de C++ "amusant", cela demande beaucoup
de sérieux (une fois ce stade franchi, tu peux t'amuser si ça te
chante).


C'est aussi amusant que de résoudre un bon problème de math. ;)


Je suis d'accord avec toi (je retrouve le même genre de plaisir en
faisant du C++ que j'avais en faisant des maths), mais j'ai peur que
cette remarque en fasse fuir certains...


--
;-)


Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 21:24:06 +0200, Loïc Joly
:

et encore, lors d'un déménagement, des gens pourraient y jeter un coup
d'oeil.


Un peu de colle sur la tranche, peut-être ?


--
;-)

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 21:31:26 +0200, Loïc Joly
:

date de parution estimée au
rythme d'avancement actuel : juillet 2586


Faut pas sortir un livre en juillet, il passera inaperçu.


--
;-)

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 20:58:06 +0200, Loïc Joly
:

[La STL]
On peut maintenant décider de ne pas l'utiliser sur un projet
spécifique


J'ajouterais que pour décider de ne pas utiliser la STL, il faut
commencer par la connaître.


--
;-)