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

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

    La différence qu'en C, ta fonction g_list_length() qui te renvoie la taille d'une liste chainée (ou tout autre fonction de la GLib), elle est une fois et une seule fois dans /usr/lib/libglib.so.2.0.1 et une et une seule fois en mémoire.

    En C++, ta fonction elle se trouve une fois par fichier cpp et par type de données manipulé.

    Après, il ne faut pas chercher loin pour voir tous les inconvénients de la méthode C++: polution du cache, de la TLB [1], de la mémoire, du disque dur, temps de compilation affreusement longs, nécessité de recompiler toutes les application si un bugfix ou une mise à jour est appliqué dans la lib, ...

    Sans compter que la méthode C à base de pointeurs de fonction permet de faire des choses qui ne sont pas réalisables avec la méthode C++, car le type n'a pas besoin d'être connu lors de la compilation.

    [1] Translation Look-aside Buffer, table interne au processeur qui cache les converions addresse virtuelle => addresse physique.