• [^] # Re: Donc pour résumer...

    Posté par . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 10.

    • le preprocesseur, le problème c'est son existence même. Le remplacement de chaînes de textes à la rache, c'était raisonnable en 77, plus vraiment en 2000.
    • les temps de compilation sont long, tres long. Et non, Java n'est clairement pas dans le même ordre de grandeur. Java peut être long sur les builds de release, quand tu lances les validateurs de styles, la génération de doc, les tests unitaires et tout ce genre de trucs. Mais tu fais tout ça pour une bonne raison, et la majeure partie à pas grand chose à voir avec le langage, mais la release. Sur un build de dev dans un ide, Java est plutôt rapide. Déjà rien que zapper le linker, quand on voit le temps que ca peut prendre sur un projet c++ costaud... Et c'est une métrique importante, tout ce qui contribue à une loop de feedback rapide est important
    • les generics Java ont leurs problèmes clairement (cough type erasure cough), mais bon. Ce que tu dit la, c'est en gros "les templates c++ sont un bordel sans nom, mais si tu te limites à juste une partie, c'est comme les autres langages". Sauf que tu te tapes toujours une compilation du template à chaque instantiation sur un type donne. Et ca rejoins l'autre critique: toutes ces features ont un coût, il faut les comprendre, savoir quand ne pas les utiliser, et faire doublement gaffe en code review.
    • la culture est pas la même sur la lib std: oui, c'est précisément le problème, cette culture.

    'fin c'est chelou, tu demandes quels sont les points qui posent problèmes, quand on te les donne tu réponds en substance "ouais, c'est des problèmes, mais c'est pas grave, si on ignore les problèmes, y'a plus de problèmes".
    Ben ouais, forcément.