• [^] # Re: Quel langage choisir ?

    Posté par . En réponse au journal Quel langage choisir ?. Évalué à 1.

    issu de la doc de la stdc++ gnu

    Tu lis une doc qui ne correspond pas à ce que tu cherches. Il s'agit d'une référence là où il te faut un tutorial ou une documentation basique.

    peut être s'agirait-il de la standard library et non de la standard template library? encore une subtilité pas évidente...

    Le C++ a pour bibliothèque la Standard Library (SL). La STL c'est SGI. La SL a repris beaucoup de la STL. Il n'y a jamais eu de subtilité particulière.

    Quand tu es en C++, tu dois jongler avec les variables dans la pile et dans le tas, les pointeurs et les références

    Pas spécialement, on utilise le plus adapté, en évitant les pointeurs au maximum. En C il faut beaucoup plus jongler puisqu'on ne peut pas éviter les pointeurs.

    tu passes une classe en argument, mais va tu passer un pointeur ou un bloc de 512 octet?

    Il n'y a aucune ambiguïté, que ce soit pour le concepteur ou l'utilisateur.

    La doc du c++ le dit clairement : un référence est implémenté par un pointeur, mais celà doit être caché au programmeur. Je n'aime pas vraiment qu'un langage me cache des choses même si c'est pour mon bien. À chaque fois que j'utilise une chaîne en C++, je ne peux m'empécher de penser : mais va-t-elle être bien désallouée?

    Manifestement une doc destinée à ceux qui connaissent déjà les pointeurs. Le C++ n'est pas responsable de cette mauvaise explication (une référence s'explique parfaitement sans pointeurs).

    À chaque fois que j'utilise une chaîne en C++, je ne peux m'empécher de penser : mais va-t-elle être bien désallouée?

    Alors il y a un problème de connaissance du langage, ça ne pose vraiment aucun problème, une chaîne est désallouée dès que l'on sort du scope où elle a été définit, ou dès qu'on détruit l'objet dont elle est un attribut, etc.

    Ce sont effectivement des choses que l'on peut apprendre et qui deviennent très efficaces une fois maîtrisées, mais ça n'est pas évident lorsque l'on vient du C et que l'on a l'habitude de manipuler des types clairs.

    Les types tableau et chaîne de caractères sont certainement plus clairs et simples en C++. Je crois que le seul problème est la mauvaise foi et le manque de volonté pour apprendre le langage.

    Enfin pour l'aspect objet (je répond aussi au msg dessous), on peut faire de l'objet avec n'importe quel langage, même assembleur. On profitera moins de la syntaxe qui guidera une architecture objet et des vérifications faites par le compilateur, mais ça n'a rien de particulièrement difficile, n'importe quel fichier C++ peut par exemple être entièrement traduit en C.

    Prétendre que « faire de l'objet en assembleur n'a rien de particulièrement difficile » résume tout. Et avec ça la STL serait peu abordable ? Ces jugements sur la difficulté de l'un et de l'autre sont pour le moins subjectifs...

    Ah oui, les cas d'école où on fait de l'objet en n'importe quoi existent. Mais s'il y a des langages orientés objet, c'est bien parce que ce ne sont pas des solutions satisfaisantes.