• [^] # Re: C++, haut niveau ?

    Posté par (site web personnel) . En réponse au journal Écrire un jeu en Rust presque de zéro. Évalué à 7.

    C'est pas complètement vrai, si on en croit la définition de Wikipedia, dont les limites sont floues, cf https://fr.wikipedia.org/wiki/Langage_de_programmation_de_haut_niveau, on peut tout à fait considérer le langage C comme haut-niveau.

    Tout dépend de l'utilisation que l'on en fait. Les bibliothèques standard en C te permettent de l'utiliser comme un langage haut niveau, mais les compilateurs te permettre de descendre bas niveau, mais par défaut, le C en lui même n'est pas un assembleur, et abstrait déjà complètement l'architecture matérielle. D'ailleurs il a été conçu pour être portable, ce qui en faisait au moment de sa conception un langage haut niveau.

    Le C++ est probablement beaucoup plus haut niveau que le C, car il est déconseillé en théorie de gérer ta mémoire par toi même, la "surcouche objet" qui n'est pas une surcouche mais bien tout ou partie du langage, te permets de complètement bannir malloc ou free de ton code. Il suffit de faire un objdump sur des pattern objets un peu avancés avec du code C++ non optimisé par le compilateur pour voir qu'en réalité, le code dumpé n'a plus grand chose à voir avec ce que tu as écrit, car le compilateur émet, selon l'architecture cible, des vrais morceaux de runtime dignes d'une VM.