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
Arnaud Debaene
M. B. wrote:

Pretendre que tout developpement sans STL, comme il est d'usage sur ce
forum, est a priori mauvais est une erreur.

Ce n'est qu'une bibliotheque, parmi d'autres.


Au détail près que la STL est définie dans la même norme que le langage
"pur" auquel tu fais référence...

Arnaud

Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

On Tue, 10 Aug 2004 13:41:55 +0200, "PurL" :

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


Certes. Mais apprendre un langage sans jamais parler de tableau ni de
chaîne de caractères, ça risque d'être chaud, non ?
Ou alors, tu apprends en même temps un langage et une bibliothèque
propriétaire. AMHA, c'est une méthode peu pertinente -- mieux vaut
apprendre les bases du langage (et string et vector<> en font partie)
avant de commencer à attaquer des extensions propriétaires.


Au risque de me répéter : si ces extensions existent, c'est parce que
les "experts" ont trop longtemps rechigné à pondre leur propre
extension, autrement dit ils ont eu l'attitude que tu reproches en
t'abrittant derrière leur autorité.

--

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
"drkm" a écrit dans le message news:

"PurL" writes:

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 ?

Ahem.


Je frémis à l'idée qu'un tel débutant puisse même pondre un
bouquin avec un titre aussi pompeusement prétentieux que
"The C++ language". Heureusement, les gens aujourd'hui
reçoivent une formation moins stérile.

--

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


Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 15:49:42 +0200, Pierre Maurette
:

Les
[macro]assembleurs proposent


Bah oui, mais justement, mon propos était que le C était plus proche
de l'assembleur pur jus (i.e. tel que je le décris) que du C++.


--
;-)

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 15:55:07 +0200, "Arnaud Debaene"
:

peut plus ou moins "émuler" tout cela en C (quoique les templates ???)


A priori, on peut faire pas mal de choses avec des macros bien
tordues.


--
;-)

Avatar
Alain Naigeon
"Gabriel Dos Reis" a écrit dans le message
news:

Quelles sont tes alternatives à std::vector<> et std::string?


L'énorme et intéressante quantités de choses qui servent
à les écrire :-o

*je* ne suis pas partisan de les ignorer, simplement je trouve
provocant - et en tout cas questionnable - la position consistant
à dire qu'il est démodé d'enseigner comment ça marche !
Oui, je sais... " à un *dé-bu-tant*". Ok, eh bien, Wittgenstein a
dit, avec pertinence: "Le vrai sens d'un théorème, c'est sa preuve".
Tu ne sais pas ce qu'est une chose avant de savoir "comment ça
marche".
Tu peux aussi enseigner, en conduite accompagnée, en expliquant
à chaque instant vers où, et de combien, il faut tourner le volant.
Peut-être même que les résultats rapides sont gratifiants pour l'élève
et le prof. Le seul problème, c'est que AMHA, le bon prof est celui
qui accepte l'idée de n'être plus indispensable un jour.

--

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

Avatar
Laurent Deniau
Arnaud Debaene wrote:
Laurent Deniau wrote:

En quoi le C++ propose un typage plus fort que le C?


L'héritage et le polymorphisme, la généricité (template) et RTTI me viennent
en tête sans trop me fatiguer, mais je pense que nous n'utilisont pas tous
le mot "typage" dans le même sens dans ce thread.


Effectivement, nous n'utilisons le meme sens pour "typage fort". Tout ce
que tu cites a l'exception des RTTI "affaiblit" le systeme de typage. Le
compilateur doit etre "plus intelligent et plus vigilant" pour gerer
tout ca.

Oui, je *sais* que l'on
peut plus ou moins "émuler" tout cela en C (quoique les templates ???), mais
la facilité d'utilisation 'est pas comparable.


Certe, le C n'est pas un language oriente objet et effectivement les
templates sont impossible a "emuler" en C, simplement parce que le
systeme de typage du C++ est plus evolue.

Pour le niveau d'abstraction ca se discute aussi, ca depend des
objectifs.


Tu peux préciser ta pensée?


Precise l'orientation que tu donnes a abstration.

Une fonction prepare_petit_dej() qui prepare le cafe et les tartines a
deja un beau niveau d'abstraction pour l'organisation de la matinee.

a+, ld.


Avatar
Alexandre Bacquart
Fabien LE LEZ wrote:
On Tue, 10 Aug 2004 05:44:44 +0200, Alexandre Bacquart
:


Objection, Votre Honneur. J'ai dû travailler en VB pendant quelques
semaines, et ça a été mon expérience de programmeur la plus
désagréable.


C'est sûr que si tu maîtrises déjà C++ et ton environnement,


A l'époque, je connaissais un peu C++, mais j'étais loin de le
maîtriser.


Tu connaissais déjà bien C (et donc proche de la machine) d'après ce que
j'ai compris. Cela justifie amplement ton allergie à VB, mais pas que tu
la refiles à d'autres.

Mais prétendre que c'est le pire
langage qui soit, je trouve cela très subjectif.


Mon aversion viscérale pour VB est certes subjective.


C'est peut-être là le problème : donner son opinion quand on fait une
allergie est rarement une bonne idée ;)

Coté BASIC, j'en suis resté au GFA personnellement... m'en suis jamais
plaint.


J'ai totalement abandonné le Basic quand j'ai découvert PHP. Juste
avant, je m'en servais pour des petits bricolages.


Tiens, marrant, on dirait que ça correspond à ce que veut faire l'OP.
Voilà qui peut être constructif s'il s'agit de le conseiller sur un
langage abordable aux débutants, non ?

Faut relativiser et prendre le BASIC pour ce qu'il est aussi :
un langage facile d'accès.


Certes. Il y a quinze ans, c'était même peut-être très bien.


C'était pareil ! Il y avait C pour les pros, BASIC pour les débutants.
Mais bon sang, le monde aujourd'hui n'est toujours pas fait que de gens
prédestinés à la programmation multi-paradigme et je crains qu'il ne
faille compter en générations avant que cela ne change, éventuellement...

Ce que je ne trouve pas bien moi, c'est de dire à un gars qui veut
programmer pour s'amuser que BASIC c'est de la dobe et C++ de la balle.
Surtout ici où peu de gens vont contredire... ce n'est que de la
branlette de pseudo-professionnel sectaire et ce n'est pas constructif
pour un rond (je précise ici que ce n'est pas toi qui a remis ce débat
usé sur le tapis à la base) alors que dans la pratique, BASIC a déjà
apporté bien plus au gars en question que C++. Et c'est oublier qu'il y
a des tas de pros qui utilisent BASIC car ça va bien pour faire les
choses vite. T'as pas à te soucier d'un compilateur ou d'un linker ou je
ne sais quel autre outil qui te balance des messages d'erreur donnant
parfois envie d'aller te pendre plutôt que de finir ton agenda
electronique ! Il faut savoir se mettre à la place des gens. Bien-sûr on
peut trouver une armée d'arguments contre BASIC en faveur de C++, rien
de plus simple (ça date même de C). Mais je le répète, c'est de la
masturbation professionnelle qui dépasse largement le cadre d'un conseil
sur le langage de choix pour s'amuser.

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). Si c'est juste programmer pour s'amuser, ça ne justifie pas de
s'y investir à fond et il y a des langages plus faciles d'accès, et là,
je ne parle pas que du langage, mais aussi de l'implémentation. Après on
peut débattre du fait que VB est mal implémenté, c'est une autre
histoire et un autre NG. En BASIC, on doit pouvoir programmer "on the
bare metal" sans autre formalité. Franchement, c'est loin d'être le cas
de C++. Et ceux qui le savent mieux que les autres sont justement les
débutants qui bloquent à la page 10.

Maintenant, à quoi peut servir un langage facile d'accès ?


La réponse est en partie dans la question.

Si c'est pour bricoler dans son coin, en sachant pertinemment qu'on
n'aura jamais le temps de se mettre sérieusement à la programmation,
pourquoi pas le Basic...


Quelque-chose me chiffone là, d'un coup : as-tu lu le message de l'OP ?

C++ peut-il être appris comme premier langage ?


Là je ne sais pas, je suis perplexe comme toi : je pratiquais déjà
depuis longtemps C, quelques BASICs et quelques assembleurs.

Avec un bon cours et
beaucoup de rigueur, ça doit être possible, mais ce n'est pas
forcément la voie la plus facile.


J'en doute effectivement.

Autre inconvénient : quand on connaît C++, on a tendance à ne pas
aller voir ce qui se fait ailleurs.


C'est un peu pareil pour C. Mais ce n'est pas un inconvénient. Si tu as
trouvé le langage qui te convient et que tu te sens capable de faire ce
que tu veux avec, c'est tout ce qui compte. A la limite, tu rates
peut-être quelques bonnes idées, mais rien de bien grave.

C'est un peu à cause de C++ que je
manque cruellement de culture des langages.


Et moi à cause de C.

surtout quand l'OP se décourage à la 10ème page.


Faut voir aussi quel bouquin il a acheté.


Il ne le dit pas. Mais il serait horrifié par l'envergure de la tâche
dès la page 10 du Stroustrup que je n'en serais pas plus étonné. Et je
suis sûr qu'il n'y a pas besoin de chercher très loin pour trouver un
livre plus abordable en termes pédagogiques, même écrit avec les pieds,
l'idée étant d'avancer, pas de bloquer. Je dis cela d'expérience, car
connaissant bien C, ça ne m'a pas empêché de galérer comme un débutant
pour passer à C++ en m'imaginant qu'un livre écrit par l'inventeur de ce
langage était le plus approprié (les "mauvaises habitudes" de C n'étant
qu'une partie négligeable du problème, les habitudes ça se change). Le
Stroustrup est une référence incontournable pour qui veut faire du C++
sérieusement, mais pour qui veut l'apprendre, il vaut mieux aller voir
ailleurs. C'est ce que j'ai fait il y a quelques années, j'en avais
marre de rien paner à certains trucs, alors j'ai récupéré un bouquin
plus pédagogique (dont j'ai oublié le nom et l'auteur) en espérant que
ça irait mieux et j'avais raison. Mais c'est peut-être subjectif, cela
aussi...


--
Tek



Avatar
Sayajin
"Fuxy" a écrit dans le message de
news:cf60rq$n9$
Bonsoir à tous,


Eh ben dis donc ils t'ont fait peur on dirait. Ils se fightent tous entre

eux pour savoir quelle est la meilleure approche du C++ ben c'ets pas gagné
!

Allez je mets de l'huile dans le feu : moi je suis décidé à apprendre le c++
avec un p'tit bouquin de poche "Langage C++" d'Olivier Dupin (j'ai déjà
programmé avec des langages orientée objet), une fois que me serais fait les
pieds avec des tutoriaux de base sur quelques api (api win32, open gl,
directx), j'attaque le livre de Référence de Bjarne Stroustrup ainsi que la
méthodologie Objet! NA !

Avatar
Alain Naigeon
"Alexandre Bacquart" a écrit dans le message news:
4118dc47$0$3166$

Ce que je ne trouve pas bien moi, c'est de dire à un gars qui veut
programmer pour s'amuser que BASIC c'est de la dobe et C++ de la balle.
Surtout ici où peu de gens vont contredire... ce n'est que de la
branlette de pseudo-professionnel sectaire et ce n'est pas constructif
pour un rond (je précise ici que ce n'est pas toi qui a remis ce débat
usé sur le tapis à la base) alors que dans la pratique, BASIC a déjà
apporté bien plus au gars en question que C++.

Et c'est oublier qu'il y
a des tas de pros qui utilisent BASIC car ça va bien pour faire les
choses vite.


Il y a aussi plein d'astrologues qui gagnent bien leur vie.

Bien-sûr on
peut trouver une armée d'arguments contre BASIC en faveur de C++, rien
de plus simple (ça date même de C). Mais je le répète, c'est de la
masturbation professionnelle qui dépasse largement le cadre d'un conseil
sur le langage de choix pour s'amuser.


Je conteste absolument l'opinion implicite selon laquelle
ce ne serait pas amusant de se masturber.

--

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