IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

L'�volution du C++...


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 45
    Par d�faut L'�volution du C++...
    Petite question qui pourrait parra�tre "b�tes"... Le C++ �voluera t'il ? Ou c�dera t'il la place � un language plus complet que le C++ ?

    Mais est-ce que le C++ est complet... complet ?

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    63
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 63
    Par d�faut
    Oui le C++ va �voluer, le nom du prochain standard est C++0x, quand aux am�liorations que �a va apporter je m'y suis pas int�ress� mais il y a surement pas mal de monde ici qui pourra te renseigner.

    Est-ce que le C++ est complet ? Ca d�pend de ce que tu entends par complet, tu peux pr�ciser ? Parce que tous les langages ont leurs sp�cificit�s.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 45
    Par d�faut
    Humm bien.

    En faites, j'ai un livre sur le C++ (un gros livre). J'aimerais savoir, si il sera toujours valable quand le C++0x "sortira".

    Je supposes que le C++0x sera assez semblable au C++ de mnt. Et donc, apr�s ma formation au C++ actuelle, il ne me sera pas trop dur de me mettre � jour par rapport au C++0x.

    En bref, j'aimerais savoir, si le livre que je poss�des ne sera pas inutile quand le C++0x sera "sorti".

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Par d�faut
    Inutile je dirais proabalement pas m�me si certaines choses auront chang�es.

    Mais connaissez-vous approximativement la date de "sortie" de ce nouveau standard (qui succ�dera donc � l'ANSI/ISO actuel je suppose) ?

  5. #5
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Il me semble que c'est en partie trait� dans la FAQ.

    Je crois avoir lu dans un blog que le futur standard sera valid� vers la fin de la d�cennie -- de plus apr�s "C++0x" ne serait plus un sobriquet valide, et ils l'aiment bien au commit�.

    Dans les trucs en plus ... pas mal de choses. J'avoue ne pas tout suivre.

    Diverses biblioth�ques dont pas mal ont �t� exp�riment�es/pr�-�tudi�es chez boost. On les retrouve d�j� dans certaines distributions (GCC, dinkumware, ...) sous le namespace std::tr1.

    Des corrections mineures au langage, et des plus profondes. J'attends avec h�te la s�mantique d�placement.

    C�t� ce que l'on connait du C++ et des bouquins, il faut voir qu'aujourd'hui d�j� beaucoup trop de bouquins passent � c�t� du C++ 98 et de comment il serait bon de l'utiliser.
    De plus si certaines notions comme les concepts sont valid�es, il va y avoir encore tr�s probablement des �volutions dans la philosophie d'utilisation du C++ (c�t� d�veloppement de biblioth�ques essentiellement, je crois) -- � moins de vouloir se restreindre au pur objet, il y a des gens comme �a.

    Bref, un point de d�part moins impr�cis et moins biais� que moi sera la FAQ o� on devrait pouvoir trouver un lien vers le site du commit� de standardisation.

    Il a d� y avoir des petites discussions sur fclc++ derni�rement (un mois ou deux) -> "post lil'hammer metting" (ou un titre comme �a)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Par d�faut
    Citation Envoy� par Luc Hermitte
    l'on connait du C++ et des bouquins, il faut voir qu'aujourd'hui d�j� beaucoup trop de bouquins passent � c�t� du C++ 98 et de comment il serait bon de l'utiliser.
    Que veux-tu dire par l� ? Que pas mal de livres sur le C++ sont mal �crits ? Comment est-ce que cela se fait selon toi ?

    (Tu sembles �tre un programmeur exp�riment� donc ton avis la dessus m'int�resse ...)

    merci

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par d�faut
    Et qu' entend tu exactement par s�mentique d�placement?

  8. #8
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    J'entends que beaucoup de livres ne montrent pas le C++ tel qu'il devrait �tre utilis�, mais le C++ d'apr�s quelqu'un qui connait le C, le Pascal, le Java, ... (cocher la case qui va bien), et qui d�barque donc avec des habitudes et des idiomes pas toujours tr�s adapt�s quand ils ne sont pas dangereux et faux une fois transpos�s.

    Il y a divers d�tails du C++ qui changent la donne. Dans les divers post-it (sur les divers forums), il y a des bouts de discussions � ce sujet et d'autres. Dans les r�currents "quel bouquin utiliser", d'autres bouts de discussions.
    Le C++ n'est pas un langage qui se limite � une syntaxe.


    Pour ce qui est de la s�mantique de d�placement (j'avais oubli� le "de"), il s'agit que la responsabilit� des donn�es stock�es dans un objet est d�plac�e (confi�e) � un autre objet au lieu d'une copie de type duplication.

    Un exemple type serait une matrice de beaucoup d'�l�ments.
    Avoir une fonction qui retourne une matrice veut g�n�ralement dire (mais pas toujours, cela d�pend des compilateurs, des options de compilations et divers d�tails -> chercher C++ et RVO '"return value optimization")) que l'on va copier la matrice : soit faire une allocation en m�moire pour stocker les �l�ments � retourner, et faire une lib�ration des �l�ments qui avaient �t� allou�s dans la fonction. Ce n'est pas toujours efficace.

    Avec une s�mantique de d�placement, on pourrait transf�rer de fa�on certaine la responsabilit� de la zone m�moire qui avait �t� allou�e dans la fonction.

    Plus d'infos dans les bouquins/sites qui traitent des std::auto_ptr<> (voir GOTW par exemple (Guru Of The Week)), dans l'article sur MOJO d'Andrei Alexandrescu (lien accessible depuis son site, google!), et bien s�r dans les diverses propositions � ce sujet dispos sur le site du commit�.
    Note: Mon exemple est assez simpliste, la s�mantique de d�placement couvre d'autres applications. -> puits et sources (=> GOTW), ...

    EDIT: des 's' s'�taient �gar�s
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par d�faut
    Merci � toi pour le complement d' informations.

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Par d�faut
    Citation Envoy� par Luc Hermitte
    J'entends que beaucoup de livres ne montrent pas le C++ tel qu'il devrait �tre utilis�, mais le C++ d'apr�s quelqu'un qui connait le C, le Pascal, le Java, ... (cocher la case qui va bien), et qui d�barque donc avec des habitudes et des idiomes pas toujours tr�s adapt�s quand ils ne sont pas dangereux et faux une fois transpos�s.
    Ah bon. Moi ce qui me surprend un peu c'est que les livres (en g�n�ral) se concentrent beaucoup sur le langage et trop peu sur l'algorithmique.
    Je me trompe peut �tre, c'est une impression ...

    Sinon ce qui me fait bien rire c'est les phrases du genre "Ce livre a �t� con�u pour que vous maitrisiez le langage X � la fin de votre lecture ..."
    S'il suffisait de lire un livre pour maitriser un langage ...

  11. #11
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    S'il suffisiat de lire un livre pour conna�tre tous les algos...

  12. #12
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Beaucoup de livres proposent tout simplement un code faux, qui ne compile pas sur des compilos r�cents. D'autres donnent de mauvaises habitudes (char *, ...), ou r�inventent la roue en n'utilisant pas les possibilit�s de la STL.
    Bref, le C++ est trop souvent pr�sent� comme un C avec des classes. Le code donn� peut souvent compiler en Java/C# moyennant quelques changements mineurs.
    En ce qui me concerne, je pense que le C++ commence aux templates.

    Pour le lien de la FAQ:
    http://c.developpez.com/faq/cpp/?pag...DIVERS_cpp_o_x

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Par d�faut
    Citation Envoy� par Miles
    S'il suffisiat de lire un livre pour conna�tre tous les algos...
    Je n'ai jamais dit que c'�tait le cas (d'ailleurs qu'entends-tu par "tous" les algos ?)

  14. #14
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Tout � fait d'accord, tous les livres que j'ai lu ne parlaient pas des templates, juste d'une surcouche du C

  15. #15
    Membre Expert
    Inscrit en
    D�cembre 2004
    Messages
    1 478
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 478
    Par d�faut
    Citation Envoy� par Aurelien.Regat-Barrel
    En ce qui me concerne, je pense que le C++ commence aux templates.
    La genericite uniquement? A mon avis, le grand apport sont les fonctions virtuelles, qui donnent au C++ toute sa puissance (et sa reelle qualite de langage oriente objet).
    Un programmeur C qui commence le C++ va se dire que c'est un "meilleur C", avec un typage plus fort, un prototypage obligatoire, les simplifications apportees par le passage par reference et la surcharge d'operateurs, etc.
    Ensuite, il se mettra a la programmation par objet, comme il le faisait en C, en utilisant des types abstraits de donnees via la declaration de types incomplets. Rien de nouveau pour quelqu'un qui a concu une bibliotheque...
    Enfin, s'il a le courage, il decouvrira l'orientation objet. L'abstraction et l'heritage sont faisables en C, mais la grande puissance du C++ apparait avec les fonctions virtuelles (le polymorphisme en C, il faut s'accrocher...).

  16. #16
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Les fonctions virtuelles n'ont rien de propre au C++. Ca existait avant, �a existe en C#, Java, ... c'est un concept objet qu'on retrouve � l'identique dans plein d'autres langages objets, � la syntaxe pr�s. Et encore:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    class A
    {
        virtual void Hello() {}
    };
    ce code compile en C++, Java, C#, ...
    Par contre, lire un fichier de mots, les trier par ordre alphab�tique et stocker le tout dans un autre fichier, �a se fait en quelques lignes en C++ et de mani�re tr�s performante gr�ce aux templates.

  17. #17
    Membre Expert
    Inscrit en
    D�cembre 2004
    Messages
    1 478
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 478
    Par d�faut
    Citation Envoy� par Aurelien.Regat-Barrel
    Les fonctions virtuelles n'ont rien de propre au C++. Ca existait avant, �a existe en C#, Java, ...
    Oui. Je disais seulement que par rapport au C, il me semble que l'apport le plus important sont les fonctions virtuelles. Par rapport au C# ou au Java, c'est peut-etre les templates, je ne peux pas juger comme je ne connais ni le C#, ni le Java.
    Par contre, tu dis que les fonctions virtuelles existaient avant le C++. Quel langage les a introduit? Smalltalk?

  18. #18
    Membre exp�riment�
    Avatar de zdra
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 164
    Par d�faut
    Citation Envoy� par DaZumba
    Oui. Je disais seulement que par rapport au C, il me semble que l'apport le plus important sont les fonctions virtuelles.
    En m�me temps la glib impl�mente tout les aspects de l'orient� objet en C ... Faut pas oublier que le language n'est qu'une facilit�, apr�s c'est l'utilisation qu'on en fait qui compte.

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 45
    Par d�faut
    Quelqu'un n'aurait-il pas quelque information � propos du C++0x ?

    8)

  20. #20
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Citation Envoy� par DaZumba
    Oui. Je disais seulement que par rapport au C, il me semble que l'apport le plus important sont les fonctions virtuelles. Par rapport au C# ou au Java, c'est peut-etre les templates, je ne peux pas juger comme je ne connais ni le C#, ni le Java.
    Ok. Moi je parlais de ce qui faisait la particularit� de C++, je ne me situais pas par rapport � un langage particulier.
    Par contre, tu dis que les fonctions virtuelles existaient avant le C++. Quel langage les a introduit? Smalltalk?
    Je sais pas. Je sais que C++ s'est pas mal inspir� de Simula, mais je connais pas ce langage. Je pense que ces concepts objets sont bien plus anciens, et ont �t� d�velopp�s d�s les ann�es 60.
    Comme l'a dit zdra, c'est pas vraiment li� au langage. Le C n'interdit pas de faire de l'orient� objet, avec des appels virtuels. C'est plus contraigant c'est tout. Il cite la glib, on pourrait aussi citer COM, ou certains m�canismes de Win32.

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. �volution d�une application existante. Quel choix ?
    Par BBerni dans le forum D�cisions SGBD
    R�ponses: 9
    Dernier message: 10/05/2004, 10h59
  2. R�ponses: 32
    Dernier message: 20/01/2004, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo