Aller au menu - Aller au contenu

Tutoriel C++ : grosse mise à jour et nouveautés !

Revenir à la liste des news
Participer à la discussion

Image

Informations

Contributeur(s) : M@teo21 et Nanoc
Publié : le 06/02/2011 à 16:09:48
Catégorie : Tutoriels
Visualisations : 20 042

Licence : Creative Commons BY SA

Tutoriel C++ : grosse mise à jour et nouveautés !

Le tutoriel C++ est un des cours les plus consultés du Site du Zéro, depuis sa parution il y a plusieurs années.

Au départ envisagé comme la suite du cours sur le langage C, il était jusqu'ici indispensable d'avoir lu le cours sur le C pour lire celui sur le C++. Pourtant, même si ces langages se ressemblent à première vue, ce sont bel et bien deux langages différents qui proposent chacun leur propre technique de programmation. On a parfois tendance à les confondre (à cause du nom ?) malgré leurs réelles différences. ;)

Un cours désormais (vraiment) fait pour les débutants !


Suite aux remarques que l'on m'a faites à ce sujet, j'ai décidé il y a quelque temps de reprendre entièrement le début du cours pour en faire un vrai tutoriel pour débutants, indépendant de celui sur le langage C. On ne voit désormais plus le message "Il est indispensable d'avoir lu le tutoriel sur le C avant de commencer celui sur le C++".

Étant donné le travail que cela allait demander, j'ai demandé à Nanoc de m'épauler. C'est un habitué du site, validateur et auteur d'un cours de qualité sur les notions avancées du C++.

Lui et moi nous sommes partagés le travail (à 50/50 environ) pour écrire une toute nouvelle partie I destinée aux débutants qui n'ont jamais programmé et qui veulent apprendre le C++. Cette nouvelle approche nous permet d'introduire les chaînes de caractères (string) dès le début du cours mais aussi les tableaux dynamiques (vector) et les références. La notion de pointeur est volontairement écartée au début pour éviter aux débutants d'avoir des réflexes du langage C.



Et ensuite ?



Cette première mise à jour importante étant terminée, Nanoc et moi n'avons pas l'intention d'en rester là. Nous allons adapter la suite du cours et y introduire progressivement des notions plus avancées issues du tutoriel de Nanoc (qui sera en quelque sorte fusionné avec celui-ci), notamment le polymorphisme, les templates et les exceptions. Une section entièrement inédite dédiée à la bibliothèque standard du C++ est prévue pour un peu plus tard : conteneurs, itérateurs, foncteurs... ;)

Quant à la partie sur Qt, sans subir de gros changements elle sera mise à jour pour tenir compte des dernières versions de Qt et notamment de l'IDE Qt Creator.

Une fois cette série de mises à jour terminées, si tout va bien nous devrions voir ce cours adapté en Livre du Zéro. Ce sera d'ailleurs le premier Livre du Zéro écrit par 2 auteurs ! ;)



Nous vous tiendrons informés lors des prochaines mises à jour, en attendant bonne lecture ! :)

113 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1  2  3  4  Suivante
Pseudo Discussion
1 visiteur sur cette news (0 membre et 1 Anonyme)
Page 1  2  3  4  Suivante
Hors ligne Meric007 # Posté le 06/02/2011 à 16:11:12
Avatar

Ca va être cool pour les débutants

"Œil pour œil, et le monde finira aveugle." - Gandhi
 
Hors ligne Hirokoshi # Posté le 06/02/2011 à 16:11:46
MATT BELLAMY.
Avatar

ça fait vraiment plaisir de voir que le cours C++ a été modifié :)

Good job !
 
Connecté Kyron # Posté le 06/02/2011 à 16:12:12
Qu'engil meure
Avatar

Que vient faire cette image en plein milieu de cette news ? o_O
Hors ligne M@teo21 # Posté le 06/02/2011 à 16:13:38
Amateur professionnel
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : EFREI

L'image est issue du premier chapitre qui présente le C++ et le fait que c'est un langage très répandu dans le secteur des jeux vidéo, avides de ses performances et de la souplesse proposée par la programmation orientée objet.

Auteur de 5 livres : HTML5 - C - PHP - Linux - C++
L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai...
 
Hors ligne Albeneth # Posté le 06/02/2011 à 16:16:29
Avatar

Ville : Pessac
Pays : France métropolitaine
Études : Epitech Bordeaux

Hm, je ne sais pas si c'est une bonne idée pour les nouveaux de commencer de suite par le C++. Toutes les notions qu'on acquiert avec le C sont nécessaires pour se consacrer ensuite entièrement à la POO. Par contre, reprendre le cours de Nanoc est une excellente idée !
Sinon, pourquoi une image de Starcraft 2 ? :o Ah, d'accord.
Hors ligne pierreyoda # Posté le 06/02/2011 à 16:17:57
Avatar

Super, j'espère que ça contribuera à réduire les confusions entre C et C++ et les affreux mélanges :p

Et bonne idée de mettre à jour la partie Qt, pour prendre en compte l'excellent Qt Creator!
Hors ligne M@teo21 # Posté le 06/02/2011 à 16:18:59
Amateur professionnel
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : EFREI

Citation : Albeneth
Hm, je ne sais pas si c'est une bonne idée pour les nouveaux de commencer de suite par le C++. Toutes les notions qu'on acquiert avec le C sont nécessaires pour se consacrer ensuite entièrement à la POO. Par contre, reprendre le cours de Nanoc est une excellente idée !
Sinon, pourquoi une image de Starcraft 2 ? :o Ah, d'accord.


Toutes les notions nécessaires sont désormais expliquées dans la partie I : variables, flux, références, pointeurs, conditions, boucles... Tout y est.

Auteur de 5 livres : HTML5 - C - PHP - Linux - C++
L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai...
 
Hors ligne quentindu16 # Posté le 06/02/2011 à 16:20:27
Avatar

Ville : Mouthiers sur boëme
Pays : France métropolitaine

Cool, j'attends le LdZ avec impatience ! :) Super boulot !

La vie est une suite de compromis...
 
Hors ligne Bakasable # Posté le 06/02/2011 à 16:21:13
Avatar
Groupe : Bannis

Bonne nouvelle :)

Sacre Et Damnation, incarnez le bien ou le mal dans une lutte sans merci pour conquérir l'Europe toute entière... [Dans le cadre du concours Innov'Game]

Image utilisateur
 
Hors ligne iCoda # Posté le 06/02/2011 à 16:22:13
Vivre ou mourir...
Avatar
Groupe : Bannis

Good Job ! ;)

Image utilisateur

 
Hors ligne Debian # Posté le 06/02/2011 à 16:27:28
Avatar

Citation : M@teo21
L'image est issue du premier chapitre qui présente le C++ et le fait que c'est un langage très répandu dans le secteur des jeux vidéo, avides de ses performances et de la souplesse proposée par la programmation orientée objet.


Ça ou pour faire un grosse pub en donnant un faux espoir comme quoi en lisant le tuto, on arrivera à faire ça ? Et donc faisant un gros coup de pub au tuto.

Mon blog sur l'informatique

Vous faites des fautes d'orthographe et vous le savez ? Corrigez votre message avant de le poster sur BonPatron

Utiliser un bug tracker pour travailler efficacement en équipe
 
Hors ligne Albeneth # Posté le 06/02/2011 à 16:28:12
Avatar

Ville : Pessac
Pays : France métropolitaine
Études : Epitech Bordeaux

Citation : M@teo21
Toutes les notions nécessaires sont désormais expliquées dans la partie I : variables, flux, références, pointeurs, conditions, boucles... Tout y est.


Peut-être, mais n'est-ce pas risqué de passer des pointeurs à la POO sans aucun intermédiaire ? Ces deux notions sont obligatoires en C++, et on ne peut pas voir les deux en même temps.
La "pause" dans le tuto du langage C (préprocesseur, structures, allocation dynamique,...) permettait de bien se familiariser avec les pointeurs, et même de pratiquer avec la SDL. Tandis que là, on passe du difficile au très difficile directement.
Hors ligne std_abdel # Posté le 06/02/2011 à 16:33:49
Qt && Boost ? "=)" : "=("

Le fait d'avoir rendu le tutoriel C++ indépendant du tutoriel C est une excellente chose. C'est l’occasion pour de nombreux passionnés présent sur ce site de découvrir ce magnifique langage sans pré-requis.

Je vous souhaite une très bonne continuation pour la suite, ne perdez pas courage. ;)

Le défi Qt débarque ! | C++ | Qt | Boost | Python | Pas de question d'ordre technique par MP.

// i² = -1 car en C++ le code suivant :
std::complex< int > i(0, 1);
std::cout << i * i << std::endl; // affiche (-1, 0) !
 
Hors ligne joedu12 # Posté le 06/02/2011 à 16:36:20
Avatar

Je n'aurais pas du me ruer pour achetter le LdZ du language C sachant que je voulais après apprendre le C++, j'aurais du plutôt attendre un LdZ C++ sans pré-requis que vous allez surement sortir :p

Bon site d'entraide (mais c'est en stand-by pour l'instant...):)
 
Hors ligne Kaviar # Posté le 06/02/2011 à 16:38:32
the cake is a lie
Avatar

Ville : Digne-les-bains
Pays : France métropolitaine

Encore un gros progrès du SDZ !! C'est vrai que ca devait faire peur aux débutants de voir qu'il fallait se palucher tout le tuto du C.

Je voudrais bien changer de monde, mais pas moyen de mettre la main sur le code source >.<
 
Hors ligne Nanoc # Posté le 06/02/2011 à 16:40:39
Aimez-vous le C++ ?
Avatar
Validateurs

Ville : Durham
Pays : Royaume-Uni
Études : EPFL

Citation : Albeneth
Citation : M@teo21
Toutes les notions nécessaires sont désormais expliquées dans la partie I : variables, flux, références, pointeurs, conditions, boucles... Tout y est.


Peut-être, mais n'est-ce pas risqué de passer des pointeurs à la POO sans aucun intermédiaire ? Ces deux notions sont obligatoires en C++, et on ne peut pas voir les deux en même temps.
La "pause" dans le tuto du langage C (préprocesseur, structures, allocation dynamique,...) permettait de bien se familiariser avec les pointeurs, et même de pratiquer avec la SDL. Tandis que là, on passe du difficile au très difficile directement.


Beaucoup de gens ont appris le C++ sans connaître le C (moi y compris). Ils ne s'en portent pas plus mal.
Cela permet aussi d'éviter les "mauvaises habitudes du C" que sont par exemple l'utilisation abusive du préprocesseur, l'utilisation à tout-va de pointeurs, les char*, etc.
 
Hors ligne schadocalex # Posté le 06/02/2011 à 16:41:33
Why not ?
Avatar

Ville : Saran
Pays : France métropolitaine

En survolant le tutoriel, ma première impression a été de trouver la partie I trop condensée, j'aurais plutôt vu, comme le cours sur le C, deux parties regroupant l'apprentissage du C++ sans l'OO, voir de combiner l'apprentissage de l'OO à l'apprentissage du C++ sans l'OO.

Sinon, cette partie était largement attendue.
Hors ligne Lucas-84 # Posté le 06/02/2011 à 16:43:49
[Tomber en marche]
Avatar
Validateurs
Flux RSS

Ville : Uchaux
Pays : France métropolitaine

Dans ce cas-là, il va falloir aussi mettre à jour le tuto C...

Citation
Vous en voulez encore ?
Alors je vous encourage vivement à continuer en apprenant maintenant le langage C++. Allez donc lire le cours de C++ que j'ai écrit, c'est en quelque sorte la suite du cours de C.

Pour pouvoir bien comprendre le cours de C++, il est nécessaire d'avoir lu au moins les parties I et II du cours de C.
La lecture de la partie III sur la SDL est facultative, mais néanmoins recommandée car elle vous fait pratiquer. Et pratiquer, c'est important, on ne le dira jamais assez !
 
Hors ligne marc78se # Posté le 06/02/2011 à 16:46:21
Avatar
Groupe : Bannis

Ville : Saint cyr l'ecole
Pays : France métropolitaine

Cool, des que j'ai fini le ldz sur le C, je m'y met :)
 
Hors ligne cfillion # Posté le 06/02/2011 à 16:46:35
Have a lot of fun...
Avatar

Ville : Québec
Pays : Canada

C'est très bien que le tutoriel soit mis à jour, et la partie Qt est vraiment passée date...
Va-ton parler de Qt Quick ? :)


Image utilisateur
Mon chat : cfiChat État : Hors Service
Un excellent zDesign : Blue Wave
Image utilisateurStats

Image utilisateur

Avertissement à ceux qui veulent m'ajouter comme "ami" sur le SdZ : Envoyez-moi un MP contenant votre motivation.
Tant que je n'ai pas reçu ce MP, je n'accepte pas la demande.
Certaines candidatures peuvent êtres refusés sans aucune réponse de ma part (vous serez seulement notifiés par MP).
 
Hors ligne Nanoc # Posté le 06/02/2011 à 16:48:28
Aimez-vous le C++ ?
Avatar
Validateurs

Ville : Durham
Pays : Royaume-Uni
Études : EPFL

Citation : schadocalex
En survolant le tutoriel, ma première impression a été de trouver la partie I trop condensée, j'aurais plutôt vu, comme le cours sur le C, deux parties regroupant l'apprentissage du C++ sans l'OO, voir de combiner l'apprentissage de l'OO à l'apprentissage du C++ sans l'OO.


On a clairement décidé de ne pas mixer les deux. On peut réaliser énormément de choses en C++ sans la couche objet et il n'y avait donc pas de raison d'introduire ça depuis le début. D'autant plus que ce n'est qu'un des multiples paradigmes utilisables dans ce langage.

Les chapitres sont condensés, c'est vrai. C'est aussi pour ça que le tuto est classé "difficile" au contraire des autres cours pour débutants.
 
Hors ligne schadocalex # Posté le 06/02/2011 à 16:50:50
Why not ?
Avatar

Ville : Saran
Pays : France métropolitaine

Citation : Nanoc
Les chapitres sont condensés, c'est vrai. C'est aussi pour ça que le tuto est classé "difficile" au contraire des autres cours pour débutants.
Et c'est dommage, vous perdez beaucoup de lecteurs.
Hors ligne cypher666 # Posté le 06/02/2011 à 16:51:21
Heu....
Avatar

Ville : Paris
Pays : France métropolitaine
Études : EPITA

Bonne nouvelle. Par contre, comme beaucoup de monde, j'ai du mal à comprendre l'utilité de l'image de SC. 0 la limite, mettre un petit texte en dessous pour expliquer ce qu'elle fait la. Enfin bon, sinon c'est une bonne nouvelle :D

A vaincre sans périls... On évite les ennuis ;)
 
Hors ligne Nanoc # Posté le 06/02/2011 à 16:52:14
Aimez-vous le C++ ?
Avatar
Validateurs

Ville : Durham
Pays : Royaume-Uni
Études : EPFL

Citation : schadocalex
Citation : Nanoc
Les chapitres sont condensés, c'est vrai. C'est aussi pour ça que le tuto est classé "difficile" au contraire des autres cours pour débutants.
Et c'est dommage, vous perdez beaucoup de lecteurs.


On verra bien avec les retours des premiers lecteurs débutants.
 
Hors ligne rigma # Posté le 06/02/2011 à 16:53:20
Moi, programmeur... Non !

Ville : Eyguières
Pays : France métropolitaine

Merci Nanoc et M@teo ! :D

Image utilisateur
Image utilisateur
Il sera à moi !

1633ème Unixien recensé sur le SdZ ! :D

Mac, c'est pour frimer. Linux, c'est pour travailler. Windows, c'est pour s'amuser

Internet Explorer: Petite application instable servant à télécharger Mozilla Firefox

Citation : Mark Shuttleworth
"Qt will help us deliver ever more 'lustful' applications to users. Nokia's continued investment in cross-platform Qt libraries, and the Linux platform, is a major driver of innovation in the free software desktop and mobile device stack."
Mark Shuttleworth,
founder of the Ubuntu project
 
Hors ligne iNaKoll # Posté le 06/02/2011 à 16:54:36
Grosso merdo
Avatar

Ville : Paris
Pays : France métropolitaine

Super! Vous avez fait le bon choix pour l'avenir du tutoriel et du (des?) livre(s?) à venir. Ce n'était pas le choix le plus facile. Merci :)

@Albeneth, les mises à jour du tutoriel ne sont pas terminées. Pour le moment, les pointeurs ne sont pas présentés. J'imagine que tout ce qui s'y rapporte actuellement dans la partie II sera mis à jour.

"La constante de couplage est fonction d'une certaine valeur constante que prend le champ scalaire des dilatations dans le vide quantique."
Image utilisateur
 
Hors ligne antoyo # Posté le 06/02/2011 à 16:56:06
GNU/Linux forever!
Avatar

Études : Cégep de rimouski

Merci pour cette nouvelle partie.
Y aura-t-il des explications sur les nouveautés de Qt ?

Mon extension pour Chrome/Chromium :
SaveAllPasswords : vous permet d’enregistrer vos mots de passe sur tous les sites Web (même ceux qui ne veulent pas :D ).
 
Hors ligne FyndKaer # Posté le 06/02/2011 à 16:56:12
Avatar

Ah !
C'est une bonne chose de faire un tuto sur le C++ sans pré-requis sur le C.
J'ai hâte de voir ce que donne la suite.
Hors ligne neowillow # Posté le 06/02/2011 à 16:58:36
(/◔ ◡ ◔)/
Avatar
Groupe : Anciens

Salut !

C'est une très bonne initiative cette refonte, c'est sûr que ça devait être pénible pour les débutants de lire en entier le cours sur le C pour finalement apprendre le C++. J'aurai juste une remarque : les chapitres "Nouveautés pour les variables" et "Nouveautés pour les fonctions" sont-ils toujours nécessaires vu que vous introduisez ces deux notions dès la première partie ? [Je précise que je n'ai pas lu, juste survolé]

Bonne continuation !

#LGDF: victor vaincra !
« Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi »
Statistiques mondiales en temps réel. - FAQ C - The C LRG - FAQ Java - Python - OCaml - quoi.info - La France vue par différentes populations




 
Hors ligne VMT6 # Posté le 06/02/2011 à 16:58:52
Avatar

Ville : Branne
Pays : France métropolitaine

Bravo ! C'est une super idée de fusionner le tutoriel de nanoc !
Quand sortira le livre ?

Gameplays, minecraft, tutoriels vidéos, vidéos test,...
=> www.youtube.com/user/MrVMT6
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news

Lire aussi