• [^] # Re: c++ su><or

    Posté par . En réponse à la dépêche Interview de Bjarne Stroustrup. Évalué à 5.

    Tu sais, la magie de C++, c'est que non seulement tu as les templates et les methodes virtuelles, mais tu as aussi les pointeurs de fonction et les pointeurs sur fonctions membres si t'as des besoins hyper-specifique ou bien si tu aimes faire des trucs degueulasses et impossible a maintenir.

    Quand aux templates illisibles, c'est a se demander si:
    - tu n'as vu que des templates codes par des schtroumpfs
    - tu es ivre
    - tu sais de quoi tu parles

    Les templates sont un procede 10x plus propre que l'equivalent en C(les macros), 10x plus puissant, et qui ont l'avantage d'etre traites par le compilo et non pas par le preprocesseur.

    Mon experience perso(je parles meme pas du boulot la) c'est un soft de +100'000 lignes ecrit en C++ pur a 2, qui est oriente perf(moteur de recherche), portable sur freeBSD, IRIX, Solaris, NT et Linux.
    C'est pas du 'faux C++' mais du vrai C++ avec une hierarchie de classes, des classes templates,...

    Ca fait plus de 9 ans perso que je code en C, et environ 5 ans en C++, je suis bien plus performant en C qu'en C++ et pourtant je me rends compte tres clairement qu'ecrire ce soft en C au lieu de C++ aurait eu pour resultat:
    - un nombre de bugs bien plus gros
    - un soft tres difficile a maintenir vu la taille et la complexite du soft
    - un temps de developpement bien plus long
    - une portabilite bien plus difficile a etablir

    Quand aux perfs, elles sont tres bonnes, et je doutes tres fort qu'une version en C pur ait ete plus rapide tout simplement car l'ecrire en C aurait ete tellement complique qu'on aurait pas pu optimiser correctement la chose sans faire un merdier pas possible.

    Ensuite, j'oses meme pas te parler de ce qu'on fait au boulot, c'est des projets qui depassent les 10 millions de lignes de code, et la tu vois tout de suite a quel point C++ ecrase C pour ce qui est maintenance de code.