Entrez le sujet ici

Saloir ou bonjut ou bonjoir ou salut!

Après le perl, le pascal et un peu de basic (tout pour le fun) j’aimerais appréhender le C++, mais voilà le problème : comment m’y prendre (tiens, j’ai l’impression d’avoir déjà écris ces phrases à la con…ah oui! c’était juste avant d’aller au toilettes, quand IE m’a ouvert 125 fenêtres en même tps.) ?

J’ai fait récemment la lourde acquisition du “Linguae C++(prononcer plousse plousse) studeo” de Bjarne Soustrup mais ouille aille uille, ça fait mal au testicules.

j’ai volé chez Gibert le “Developpementus C++” de chez Campus Presse relié peau de pangolin mais rien n’y fait, par l’anus factice du créateur, j’aimerais savoir si l’on peut suivre de modestes cours d’initiation et de perfectionnement en cet abyssal langage?

Faite-moi, si seulement vous le voulez, part de votre expérience dans l’apprentissage du C++, abreuvez mon cerveau de vos coûteux conseils et patati et patata…

Bref, comment avez-vous ingurgité le C++ (j’ai développé une macro qui permet d’afficher dans le traitement de texte : “C++” quand je me sers un vers d’absinthe).

Je vous remercie par : - hasard
- exemple
  - toutatis
- coeur
- avance (biffer la mention inutile)
de vos réponses. Merci!

Je crois que la premiere question qui se pose deja c’est :

pour quoi tu veux apprendre le C++? Pour faire quoi? Quel type de programmes? Des idees precises en tete, ou tu veux juste “apprendre le C++”? Ensuite quel est ton experience de la programmation imperative orientee objet?

Parceque selon ce que tu veux faire et ton experience l’approche est pas forcement la meme (voire C++ est pas forcement le plus adapte ou le plus facile pour commencer).

(Tiens, GloP veut encore vendre le C# )
(non, pas la tête !)

Bon, pour répondre à la question posée, je vais te dire que j’ai personnellement appris le C++ “à la dure”, c’est à dire qu’à la base, je n’avais qu’un bouquin de Stroustrup lu en diagonale parce qu’il n’était pas à moi, et… eh bien, quelques sources d’exemple, qui n’étaient pas vraiment des tutoriaux (puisqu’il faut bien dire qu’à l’époque des BBS les tutoriaux pour des choses aussi hérétiques et haut niveau que le C++ étaient pour le moins rares), mais qui étaient plutôt des programmes assez simples faisant des tâches facile à appréhender.

Donc, du coup, mon conseil serait de t’armer d’un livre à destination de gens de ton niveau (donc suivant que tu connaisse ou non d’autres langages objets, suivant que tu connaisses ou non la programmation, etc.). Le problème, c’est que tu ne nous donne pas ton niveau, donc je vais avoir du mal à te conseiller quoi que ce soit. Ensuite, en dehors du bouquin, je te conseille de rechercher des tutoriaux sur le net, tels que http://www.cplusplus.com/doc/tutorial/ par exemple. Mais celui ci est en anglais. Celui ci (http://glenux2.free.fr/index_normal.php?pid=TUTCPP) par exemple est en français. Il en existe des myriades d’autres, ceux ci m’ont l’air assez intéressants.

Maintenant, comme le dit GloP, il existe d’autres langages, et peut être sont-il plus adaptés à tes besoins ?

(eh merde, je m’étais juré de plus répondre à des questions de débutants, de peur de me faire flammer… bon ben tant pis)
Ce message a été édité par tuo le 26/11/2003

L’aprentissage du C++ n’a véritablement aucune utilité avérée pour moi!

Je fais simplement ça par intérêt, par curiosité, par défi, par achutiste, j’aime l’ordi et je veux dialoguer avec lui, je veux qu’il me comprenne et le comprendre.(j’ai le Goncourt?) Enfin, y’en a qui aime construire des maquettes d’avions, moi c’est taper du code, ça me détend entre deux schémas des réactions où sont mis en jeu les dérivés sulfonés de l’azote quoi.

Mes finalités sont les suivantes : .
D’accord? Je n’ai pas d’objectif précis sur quoi faire avec le C++, mais j’ai eu ouï dire qu’il était passionnant et Ô combien performant comme langage je veux donc l’apprendre. J’ai appris seul le Perl, le Pascal et un peu de basic(3*rien) c’est tout! Je suis comme kidiré un commençant en orienté objet.

Un petit ragoût(ou rajout je sais plus) : j’aimerais savoir ton itinéraire Tuo et ce que tu savais avant de commencer le C++ (et hop un verre d’absinthe!) et j’ai trouvé ce cours mais il est bizarre http://casteyde.christian.free.fr/cpp/cour…line/book1.html

Ce message a été édité par lecaracal le 26/11/2003

Dans ce cas la je veux pas faire la pub pour ma paroisse hein (mais je la fait quand meme, toc) mais pour attaquer en objet, et pour etre en harmonie beate avec ta machine, qui te le rendra bien en te caressant doucement les cheveux (oui oui les cheveux) les soirs de deprimmes je te conseille plutot de jetter un coup d’oeil du cote de C# (sous windows ou sous linux - avec mono - hein, on est pas racistes…).

Tuo tu remarqueras que j’ai attendu de savoir ce qu’il voulait pour le proposer la solution qui est, il me semble la plus adapte J’ai pas essaye de vendre mon truc a l’aveugle des le depart C++ ca peut souvent etre adapte a plein de trucs mais la, je pense pas que c’est l’ideal, en tout cas pas dans l’immediat, rien ne t’empeche quand tu te sens plus confortable de te lancer corps et ame dans C++ et l’assembleur et la collection de boites de camemberts. Parceque, d’experience, C++, programme comme du C ou du pascal, dans une sorte d’objet batard c’est une des pires choses qu’on peut apprendre quand on est debutant et qu’on a facilement tendance a faire si on a pas des bases solides en programattion orientee objet.

Ca te permettra de pas te tirer une balle sur des details en C++ et de commencer a bien aprehender comment ca fonctionne, surtout si tu veux faire des progs “non web” et “non ligne de commande”. Comprendre les message pump et tout ce qui va avec c’est deja bien assez chaud quand on commence. Si tu fais vraiment une allergie a C# tu peux faire du java aussi hein mais bon courage si tu veux faire du SWING ou du SWT (mais c’est pas moi qui te l’ait dit, je suis au courant de rien, chut, je suis la incognito).

Ce message a été édité par GloP le 26/11/2003

(et voila, je vais me laisser embarquer dans cette discussion… rahlala)

GloP, je te sens sur la défensive Ce n’était pas une accusion, juste une boutade Personnellement, je ne cherche pas à juger du pourquoi il veut se mettre au C++, juste à répondre à sa (ses) question(s). Après, j’espère que mes réponses lui permettront de découvrir éventuellements d’autres horizons correspondants mieux à ses attentes, si nécessaire. Donc zeeeen

d’un autre coté s’il connait déjà Perl je ne pense pas que C# lui soit super utile.

Enfin je vais pas trop m’avancer non plus car j’ai jamais programmé en
C# ni en perl, tout ce que je sais c’est que Python (ca j’en fait) est
un dérivé de Perl et d’après ce que j’en ai vu C# ressemble assez a
Python.

Sinon moi mon parcours, c’est que j’ai également essayé de commencer par un
livre mais je comprenait pas tellement (enfin je blocais au pointeur quoi :/) et donc j’ai pas trop avancé.
Puis j’ai réappris ca bien a l’unif.
Ce message a été édité par Staz le 26/11/2003
Ce message a été édité par Staz le 26/11/2003

Donc il y a une troisième personne sur cette terrre qui a fait de l’objet en pascal…
Whaaaa
Ca m’épate. (Je me suis arrêté aux objets en pascal, c’est à peu près là où vous commencez, non ?)
Je me retire sur la pointe des pieds, avant de la mettre (la pointe) sous le talon d’un colosse de la programmation.

J’ai lu avec intêret le post “C# vs C++” mais sans vraiment le comprendre faute de bagage dans ces types de suicides programmés. Mais je ne veux pas m’orienter vers un autre langage, je tiens à apprendre le C++ et j’aimerais savoir si il n’y a pas des écoles pour cela par acétamol, et …voila.
 
Le C# est plus abordable alors? c’est une amélioration du C++?  JE me tate furieusement maintenant…Je vais tenter de trouver des bouquins sur le C# alors. Mais je ne démords pas, je veux apprendre le C++, (au fait j’ai pas mal d’expérience en Fortran , ca semble bizarre mais bon, je l’ai appris avec ma soeur qui est programmeuse j’aipasledroitdedireo&#249  mais j’avoue que si il faut passer par des paliers d’apprentissage grâce à d’autres langages je suis pas contre, ça ne me fera que passer plus de temps à effleurer le clavier et à glisser des regards tendres à mon uc! (et non pas à mon cu)
Ce message a été édité par lecaracal le 26/11/2003

[quote]
Enfin je vais pas trop m’avancer non plus car j’ai jamais programmé en
C# ni en perl, tout ce que je sais c’est que Python (ca j’en fait) est
un dérivé de Perl et d’après ce que j’en ai vu C# ressemble assez a
Python.

Non non, je sais pas ou tu as vu que Python etait un derive de Perl, mais c’est pas le cas.

D’après vos réponses il me semble avoir suffisemment de connaissances en prog pour déguster du C with classes, non? N’y aurait-il pas des cours du soir dans des écoles de prog (habite à Paris) ou un truc dans ce genre?

Allez hop je me lance dans le débat houleux. Ca me rapelle mon apprentissage à la fac ou nos profs ont sauté tout C/C++ pour nous faire commencer direct avec Java. Mon avis sur la chose ? Ca a fait une génération de programmeurs assistés qui savent très bien utiliser JavaDoc. Pour pondre un algo par contre… Oui je sais je troll mais j’en sors

Donc, a mon humbre avis, le mieux serait de commencer a appréhender la syntaxe de base, soit le C. Quand je dis C je ne le dis pas dans le sens linuxien du terme, mais dans le sens C++ sans toucher aux classes. Déjà ca sera une bonne initiation et si tu viens du Pascal tu devrais pas avoir trop de mal.

Après, pour les classes, tout dépendra de sur quel OS tu veux bosser, et de quels sont tes objectifs. Tu peux te contenter d’apprendre le concept de classe, a quoi ca sert, sans pour autant te plonger dans les joies sadiques de l’héritage multiple vu par Stroustrup (je maintiens le sadique après avoir cointerviewé le mec ;)).

Un BON moyen d’apprendre, et de s’amuser (oui, s’amuser, je sais y’en a pleeeins qui vont me tomber dessus), c’est de prendre visual studio et de faire du MFC. Je sais, c’est loin d’être parfait mais, y’a de formidables classes qui existent, et sans même trop comprendre ce qu’elles font tu peux faire des trucs marrants. Pour trouver des classes et des exemples, y’a l’excellent www.codeproject.net

Après, on va dire que je suis sadique mais j’aime bien jouer avec l’openGL (ouais je sais directX tout ca mais bon). Et la y’a pleisn de trucs sympas a apprendre. Un autre bon site : http://nehe.gamedev.net. La plupart des exemples n’utilisent pas les classes, je sais ce sont de petits exemples mais ca peut etre un bon point de départ (pour des grosses applis c’est plus dur, mais pas impossible).

Si tu as saisi les bases du C et de C++ tu pourras te pencher le temps voulu vers C# ou autre chose, mais je pense qu’il est bon de faire un petit détour par le reste avant d’aller voir dans les langages de trop haut niveau.

My 2 cents

+1 C_Wizard. Personnellement, je suis très content d’avoir fait de l’assembleur, parce que des fois tu te retrouves face à des bugs (de compilo, de ton code ou autre) qui sont très durs à corriger si tu ne sais pas ce qu’il se passe derrière le code “haut niveau”. J’ai déjà eu le cas de sur-optimisation du code (un code a la con hein, dans un outil de base, pas un code que j’avais designé pour aller super vite en plus) par le compilateur, que j’aurais été bien en mal de corriger sans savoir ce qu’il me sortait.

Enfin bon, C++ powah, C# roulaize et Assembleur forever.

[quote]d’un autre coté s’il connait déjà Perl je ne pense pas que C# lui soit super utile. Enfin je vais pas trop m’avancer non plus car j’ai jamais programmé en C# ni en perl, tout ce que je sais c’est que Python (ca j’en fait) est un dérivé de Perl et d’après ce que j’en ai vu C# ressemble assez a Python.

Holalala non mais effectivement c’est n’importe quoi.
Perl et Python : rien a voir, a la limite meme “famille“
.Net (C#) et Perl : absolument rien a voir, pas du tout la meme famille, pas du tout les meme utilisations, pas du tout la meme syntaxe, pas du tout le meme esprit
C# et Python: heu ben pareil, rien a voir du tout.

[quote]Le C# est plus abordable alors? c’est une amélioration du C++? 

Bon j’en profite pour repondre a CWizard, il a deja fait du fortran, il a deja fait du pascal, donc les pointeurs et la base il connait deja. C’est pas un soucis, maintenant il peut faire de l’objet. Je suis d’accord que faire du Java direct sans rien comprendre d’autre que “lire javadoc“ c’est de la merde. Mais ca empeche pas que si tu fais ca tu programme java comme un sagouin et tu peux l’apprendre largement mieux que ca sans avoir rien appri d’autre avant. On peut apprendre les pointeurs, et ce qu’est un compilateur, du code assembleur et tout en faisant du Java. Suffit d’avoir une education qui consiste a plonger DANS Java, et pas juste a l’utiliser betement.

Sinon C# c’est a la fois une amelioration de C++ (en fait si t’ecris C++ ++ et que tu mets le second groupe de + sous le premier, ho surprise t’as un #…) et un truc quand meme fondamentalement different. C# n’est qu’un des langage permettant de se servir de .Net et c’est surtout la qu’est la difference fondamentale. Maintenant au niveau syntaxe et utilisation en elle meme, c’est un mix entre Smalltalk, C, C++ et Java Ca essaye de prendre le meilleur de ces mondes, plus ses propres ameliorations et c’est un tres bon langage pour apprendre l’objet, c’est assez simple, c’est managed quand on veut, et unsafe quand on veut et c’est flexible. Quand je programme depuis 3 ans pour moi a la maison c’est C# direct, et pourtant jusqu’a il y a un ou deux ans j’etais encore meilleurs en Java ou en C… apres niveau rapidite pour obtenir ce que tu veux y a tellement pas photo que c’est pas drole . Enfin a toi de juger apres tout, tu as le SDK de .net qui est completement gratuit sous windows, ou si tu es sous linux tu as mono, tu peux telecharger et commencer a ecrire ton hello world en c#. Il y a pas mal de tutoriaux plutot bien fait, d’exemples, etc.

En tout cas si t’es sous windows et que tu veux programmer des trucs pour windows, pour le futur, c’est quasi obligatoire de connaitre .Net et un des langage qui va avec (C# par ex), c’est la direction qu’a choisit MS pour le futur de la programmation sur sa plate forme. Toute les fonctionalites utilisateurs, dans longhorn par exemple sont exposees par des interfaces managed et objet. En gros toute l’API de l’os, qu’on appelle win32 ne sera plus le centre des nouveaux developpements, mais se fait remplacer/etendre par WinFX qui est, si tu veux, une librairie C# offrant toute l’API de l’OS.
 
Enfin on en est pas encore la avant longhorn qui est loin. Mais meme aujourd’hui .Net 1.1 et les WindowsForms (ou gtk# sous mono si tu veux faire que du linux) sont des tres tres bons outils. Mono et Novell implementant .Net sous linux, prochainement (surement meme deja, pour certaines applis) il sera relativement facile d’ecrire du code qui tourne a la fois sous linux et sous win, tout en pouvant exploiter les specificites d’une des plate forme si tu le desire .

Ce message a été édité par GloP le 26/11/2003

[quote]+1
C_Wizard. Personnellement, je suis très content d’avoir fait de
l’assembleur, parce que des fois tu te retrouves face à des bugs (de
compilo, de ton code ou autre) qui sont très durs à corriger si tu ne
sais pas ce qu’il se passe derrière le code “haut niveau”. J’ai déjà eu
le cas de sur-optimisation du code (un code a la con hein, dans un
outil de base, pas un code que j’avais designé pour aller super vite en
plus) par le compilateur, que j’aurais été bien en mal de corriger sans
savoir ce qu’il me sortait.

Enfin bon, C++ powah, C# roulaize et Assembleur forever. [/quote]Toute petite parenthèse (

Tu programmes en assembleur sur quel plateforme ? Nous à la Fac, on
fait ca avec des vieux compilos d’il y a dix ans dans une salle à
moitié Windows 2000 à moitié Windows NT4 installé par des admin linux
mandrake, je vous raconte pas l’horreur. Donc j’aimerai trouvé de la
doc pour programmer en assembleur sous linux. Tu as ca sous la main ?

) Fin de la petite parenthèse

[quote]Tu programmes en assembleur sur quel plateforme ? Nous à la Fac, on
fait ca avec des vieux compilos d’il y a dix ans dans une salle à
moitié Windows 2000 à moitié Windows NT4 installé par des admin linux
mandrake, je vous raconte pas l’horreur. Donc j’aimerai trouvé de la
doc pour programmer en assembleur sous linux. Tu as ca sous la main ?[/quote]
Regarde sur cote de nasm.

Ah ben voila, j’ai été pris de vitesse. J’ai en effet utilisé NASM pour faire de l’assembleur x86 sous plusieurs OS (un petit exemple étant cette lib sonore http://tuo.planet-d.net/skysound). Avec ça, à toi les joies de l’assembleur portable ! (enfin, tant que tu restes sur des processeurs x86, donc bon pas portable au sens large)

[quote]cette terrre qui a fait de l’objet en pascal… Whaaaa Ca m’épate.[/quote]hum. Et Delphi ? C’est bien du Pascal Objet non ?

Il y a plein de logiciels client/serveur professionnels non bas niveau qui sont programmés en Delphi.

[quote]au fait j’ai pas mal d’expérience en Fortran , ca semble bizarre mais bon, je l’ai appris avec ma soeur qui est programmeuse j’aipasledroitdedireoù[/quote]…le Fortran…mon premier langage de programmation, sur des consoles avec écran 12 pouces et de jolies caractères verts matrixiens…
Il ne doit pas y avoir beaucoup de monde qui utilise encore ce langage (à part les centres de calcul ou de recherche…ou l’armée…wahh sa soeur est agent secret je suis sûr !!!)

phili_b : Je pense qu’il parlait de la période “pré-Delphi”, celle sous DOS, où le multitache n’était qu’une utopie réservée aux élites

Sinon pour le Fortran, sachez qu’il est toujours bien en vie. Y’a même un compilateur Fortran pour .NET (une technologie d’avenir !). Comme quoi…