Le meilleur livre de prog ? - C++ - Programmation
Marsh Posté le 19-01-2013 à 15:11:59
Absolument pas, le site du zéro est plus ou moins bien pour commencer, mais faut le fuir comme la peste dès que possible.
Perso j'suis toujours allé sur internet pour les cours, et cplusplusreference est une mine d'or.
Marsh Posté le 19-01-2013 à 15:24:35
Ah, le livre du SDZ ? A mon avis, même niveau que le site, je ne le recommanderais pas.
Marsh Posté le 19-01-2013 à 21:17:42
Apprendre le C et apprendre le C++, c'est deux choses différentes. Je ne répond que pour le C++:
- Pour démarrer le C++, Accelerated C++, de Andrew Koenig et Barbara Moo, il apprends les bases en partant de zero.
(Une fois les bases acquises, on peut aller plus loin en utilisant Thinking in C++ de Bruce Eckel (les deux tomes, et en particulier le second)
Une fois cela fait, on peut passer a la lecture du The C++ Programming Language de Bjarne Stroustrup pour voir tous les détails restants)
- Pour comprendre les principales structures de données et algorithmes, le Data Structures and Program Design in C++ de Robert Kruse et Alexander Ryba (il est excellent en tout ce qui concerne les structures de données, moins bon pour leur implémentation en C++, car c'est l'adaptation d'un bouquin pour le C a la base, et c'est dommage qu'il n'ait pas été remanié en tenant compte de la STL)
A+,
Marsh Posté le 19-01-2013 à 21:28:27
Programming -- Principles and Practice using C++ de Stroustrup n'est pas mal et correspond bien au titre, c'est un cours de programmation qui utilise le C++ comme langage et pas un cours de C++. De mémoire, il a été traduit en français.
Marsh Posté le 21-01-2013 à 23:42:27
le livre du SDZ est une tuerie quand tu débutes et que tu as jamais programmer, un must have !
Marsh Posté le 23-01-2013 à 21:41:14
gilou a écrit : Apprendre le C et apprendre le C++, c'est deux choses différentes. Je ne répond que pour le C++: |
Tu cites "The c++ programming language" en avant dernier - est-ce parce qu'il va suffisamment au delà des bases ?
Je serais pas mal intéressé...
Marsh Posté le 24-01-2013 à 01:22:27
Oui, tout à fait: The C++ Programming Language c'est le bouquin de référence qui explique tout dans le détail, mais c'est pas vraiment la que tu va apprendre à programmer en C++.
Le gros pb avec les bouquins qui sont censés t'apprendre le C++, c'est qu'un grand nombre d'entre eux ne t'apprennent que le C à la mode C++. Ça a un petit peu changé ces dernier temps heureusement.
DE toute façon, il y a des incontournables à avoir (au fur et a mesure de sa progression) dans toute bonne bibliothèque de programmeur C++:
Les bouquins de Stroustrup:
- The C++ Programming Language
- The Design and Evolution of C++ (pour un bon exposé des idées ayant abouti au C++ et aux choix qui ont été faits)
- Programming: Principles and Practice Using C++ (perso, je suis pas certain que ce soit à recommander a un débutant, il fait plus de 1000 pages et je trouve sa pédagogie discutable)
De Koenig et Moo:
- Accelerated C++ pour avoir rapidement les bases
- Ruminations on C++
[de Koenig seul, tout développeur C doit avoir son bouquin C Traps and Pitfalls, on on voit de superbes choses comme (*(void(*)())0)(); qui est l'appel d'une routine stockée à l'adresse machine 0 ]
De Lippman, Lajoie et Moo
- The C++ Primer (la toute dernière édition qui inclus le C++ 11)
De Sutter
- Exceptional C++
- More Exceptional C++
- Exceptional C++ Style
De Sutter et Alexandrescu
- C++ Coding Standard
De Meyers
- Effective C++
- More Effective C++
- Effective STL
De Cargill
- C++ Programming Style
De Dewhurst
- C++ Gotchas
De Henricson et Nyquist
- Industrial Strength C++ - Rules and Recommendations (quoique je sois pas d'accord avec certaines de leurs règles)
De Alexandrescu
- Modern C++ Design
De VanDerVoorde et Josuttis
- C++ Templates
De Langer et Kreft
- Standard C++ IOStreams and Locales
De Musser, Derge et Saini
- Stl Tutorial and Reference Guide - C++ Programming with the STL
De Sedgewick
- Algorithms in C++ parts 1-5
De Eckel
- Thinking in C++ (les 2 tomes)
etc etc.
Pour un débutant, en plus du Koenig et Moo, le Lischner, Exploring C++ est pas mal aussi pour apprendre les bases, et est un bon complément a lire ensuite.
A+,
Marsh Posté le 24-01-2013 à 07:30:31
goldenboy_45 a écrit : le livre du SDZ est une tuerie quand tu débutes et que tu as jamais programmer, un must have ! |
non, c'ets juste de la merde. le SDZ et ses subsides ne font que colporter de mauvaises pratiques.
Marsh Posté le 24-01-2013 à 11:52:30
Chacun son truc, moi j'aime bien le style.
Je suis pas informaticien, ingénieur et je connais rien en programmation, si ce n'est VBA.
Donc pour moi, ne connaissant rien, avec "Apprenez à programmer en C" j'apprend énormément de choses, c'est l'un des seuls bouquins à prendre vraiment le truc depuis le début.
C'est certainement pas hype, puisque c'est de la vulgarisation, c'est claire que pour un informaticien c'est surement de la merde, mais pour un vrai débutant qui cherche pas à faire des programmes de folies, juste des trucs de calcul, c'est vraiment bien fait.
Marsh Posté le 24-01-2013 à 17:02:40
non, c'est pas "pour les informaticiens" c'est bien. le truc a une pedagogie en bois et n'aborde pas les vrais problemes proprement.
Moi en general, dans mes cours de dev, le premier que je choppe a lire ca, il passe la porte.
Marsh Posté le 24-01-2013 à 20:09:35
Non mais ça c'est le comportement typique bobo, la vulgarisation ça passe pas.
Je suis pareil dans mon domaine remarque.
Marsh Posté le 24-01-2013 à 20:15:20
non, c'est pas etre bobo, c'est etre professionnel.
Tu verras le jour ou tu auras un vrai job.
Marsh Posté le 24-01-2013 à 21:29:08
Non mais ton job c'est écrire des programmes c'est normal que lise pas les livres du SDZ.
Mon job c'est la finance et c'est normal que je lise pas la tribune.
C'est du pareil au même, mais un mec qui connais rien dans l'un des domaines il va pas commencer avec "The C++ the programming language" comme il commencera pas avec "Les outils stochastiques des marchés financiers une visite guidée de Einstein a Black-Scholes"
Moi ça me permet de faire des pricers et d'appliquer les modèles financiers avec ce que j'ai appris dans le SDZ, je galère encore pas mal, mais ça viendra. Donc je suis très content de ce que j'ai appris.
C'est un très bon livre pour les personnes n'ayant jamais programmé, et pour qui ce n'est pas le métiers.
Marsh Posté le 24-01-2013 à 22:04:58
Et tu bosses chez Knight Capital?
A+,
Marsh Posté le 27-01-2013 à 21:34:58
Le problème, c'est qu'après, ça va écrire des bots pour faire du high frequency trading, et ensuite, on s'étonne que la bourse crashe
Marsh Posté le 04-02-2013 à 19:58:49
gilou a écrit : Oui, tout à fait: The C++ Programming Language c'est le bouquin de référence qui explique tout dans le détail, mais c'est pas vraiment la que tu va apprendre à programmer en C++. |
Ça en fait du bouquin...
Sinon y'a "The C++ Programming Language" qui va être rééditer en mai avec le C++ 11
Marsh Posté le 28-02-2013 à 13:01:41
perso je pense que si tu veux comprendre le C, il faut lire celui écrit par Lionel Ritchie & Korrigan
http://en.wikipedia.org/wiki/The_C [...] g_Language
il est sur le net partout.
Je pense que c'est le livre qu'il faut lire en 1.
Sinon pour le C++, n'importe quel bouquin fera l'affaire pour les bases. Les livres de Sutter et ceux de meyers sont bien pour du niveau "advanced".
Sinon sur le net : cplusplus.com, t'as déjà une foultitude d'infoS.
Enfin, pour les algos, à mon avis il y a un bouquin qui est très bien mais c'est un énorme pavé : http://www.dunod.com/informatique- [...] de-donnees
T'as des trucs équivalents voire mieux mais en anglais.
Si tu veux du multithread, je te conseil C++ in concurrency, mais bon il faut avoir lu les autres bouquins avant sinon tu sera largué.
Marsh Posté le 06-03-2013 à 18:32:12
Bonjour,
Je souhaiterais me remettre à programmation orientée objet (très demandée par les entreprises)
D'après vous, lorsque l'on commence à travailler dans ce domaine là, faut-il mieux savoir coder en C++ ou en java ?
Marsh Posté le 06-03-2013 à 18:33:09
Je sais que les deux langages sont très similaires, mais y en t-il qu'il faut absolument savoir utiliser ?
Marsh Posté le 06-03-2013 à 18:50:07
C++ et Java ne sont pas similaire du tout
Maintenant, tout dépend de ce que tu souhaites faire, si c'est du dev pour smartphone par exemple, Java, pour des logiciels sur des PCs, plutôt C++.
Marsh Posté le 06-03-2013 à 19:13:39
si tu ecris du C++ qui ressemble a du JAVA c'ets que tu as rien compris.
C'ets deux langages completement opposes philosophiquement
Marsh Posté le 06-03-2013 à 20:54:03
Joel F a écrit : si tu ecris du C++ qui ressemble a du JAVA c'ets que tu as rien compris. |
ah ?
Marsh Posté le 06-03-2013 à 22:51:20
Ben oui, ils sont tous les deux orientés objets mais ne se manipule pas de la même manière
Marsh Posté le 07-03-2013 à 06:04:38
Comme dis plus haut il faut vraiment distinguer C++ du C, il y à quelques très bons livres pour apprendre à "pensez en C++" comme par exemple "Thinking in C++: Introduction to Standard C++, (2nd Edition)", il y à deux volumes.
Sinon la première édition de ce livre existe en français sur le net : penser en C++
Marsh Posté le 07-03-2013 à 07:16:53
I_m_back a écrit : |
le C++ moderne se base sur le typage statique fort, la preponderance des algorithmes generiques parametriques, l'aspect fonctionnel et de l'utilisation de la pile comme gestionnaire de ressource automatique et ne fait de l'objet comme papy que lorsque y a que ca qui passe.
JAVA lui passe par du dynamic allcoation tout le temps, des API lourde et pas de parametrismes ni de gestion de la pile, ce qui imapct le style et les performances des programmes meme si depuis qqs temps la JVM arrive a corriger ca.
JAVA est bloque dans son paradigme tout objet et doit pedaler dur pour faire des choses simples. Sans parler du fait que JAVA ne peut pas aire autrement que violer SOLID et Demeter par design, la ou C++ et son aspect multiparadigme permet d'adapter son style au besoin.
Marsh Posté le 07-03-2013 à 15:27:29
Tout à fait, si on veux comparer Java à quelque chose c'est plutôt C# mais pas C++.
Marsh Posté le 08-03-2013 à 11:58:48
Joel F a écrit : |
Apres, des gens qui font que du c++ a papy, on en a des charettes, et quand t'arrives en parlant de généricité la bouche en coeur, on te rétorques que c'est "compliqué" ou "pas maintenable"
Marsh Posté le 09-03-2013 à 08:00:28
snafu8 a écrit : |
Plus serieusement, j'ai pas de solutions miracles. Tout ce passif vient surtotu du fait que le C++ ets tre stres tres mal enseigne en France.
Marsh Posté le 09-03-2013 à 09:44:33
Joel F a écrit : |
Le java s'oriente vers du typage fort depuis pas mal de versions il me semble. Après effectivement tu ne gères pas la mémoire.
Maintenant, le java est beaucoup plus proche du C++ que les nouveaux langages de programmation "interprétés" qui émergent, type python ou Ruby.
Pour répondre à la question posée, j'apprendrais plutôt le C++, qui permets de passer très facilement à java ou C#, plutôt que l'inverse qui est moins vrai.
Marsh Posté le 10-03-2013 à 08:45:41
I_m_back a écrit : |
Tantq ue Object existera, y aura des mecs pour ecrire du caca.
Le tout Objet est une impasse.
Quant a la memoire, c'ets surtotu le fait de pas acceder à la stack qui est detrimental.
Marsh Posté le 10-03-2013 à 11:27:15
Genre.
Genre, en supprimant object, on fera disparaitre le code de merde. Le code de merde est pas lié à un paradigme ou un autre, il est là parce qu'il existe des codeurs de merde, des deadlines, des chefs de projet avec des restrictions pourries, etc.
Marsh Posté le 10-03-2013 à 14:42:01
snafu8 a écrit : Genre. |
J'ai pas dit le contraire, c'est comme les gens en C++ qui font encore des new partout et pas de RAII ou les aficionados de l'inline assembly...
Mon commentaire était surtout pour dire que vu comment le paradigme "Object ou je trépasse" est tellement pervasif au langage que c’est peine perdu,
les gens n'ont *pas* le choix :{
T'auras pas de petit pain si c'est ca
Marsh Posté le 19-03-2014 à 13:10:17
gilou a écrit : |
merci je vais prendre celui la, je 'suivais' les cours du ex site du zero, ayant déjà eu des cours de Java je m'y suis retrouvé mais je suis passé à coté de pas mal de choses parce que c'était pour moi, mal expliqué, mais bon comme c'est gratuit je n'ai rien dis
même un bon bouquin ne vaux pas un bon cours, mais bon à mon age j'ai pas forcement l'envie d'y retourner non plus alors ça sera : un bon bouquin
Marsh Posté le 22-03-2014 à 13:25:29
in_your_phion a écrit : perso je pense que si tu veux comprendre le C, il faut lire celui écrit par Lionel Ritchie & Korrigan |
Très bonne blague "Lionel Ritchie & Korrigan"
Marsh Posté le 25-03-2014 à 20:02:41
Et vous pensez quoi de Wikibooks: Programmation C++ (debutant) ??
http://fr.wikibooks.org/wiki/Progr [...] troduction
Marsh Posté le 19-01-2013 à 15:08:22
Slt a tous
je voulais savoir si le meilleur livre de prog pour le C,C++ etc... sa serez ceux du site du zero ?