le langage de templates qui est parmi les plus abscons, parce qu'il mélange les génériques et la métaprogrammation (ou alors je suis le seul à trouver les templates récursifs imbitables) ;
parfois de la complexité superfétatoire (= delete, un destructeurs privé virtuel par exemple) ;
les restrictions contre-intuitives (pourquoi on ne peut pas définir une classe template ailleurs que dans son header ?) souvent dues au préprocesseur ;
l'évolution rachitique (de l'aveu même de la dépêche, les gars n'ont pas réussi à définir une lib standard réseau ou fichiers en 10 ans) ;
la gestion mémoire qui accumule plusieurs couches au fil des années (pointeurs nus, références, puis pointeurs intelligents [unique_ptr/shared_ptr/etc.]) ;
lib standard parfois surprenante (on a une distribution gaussienne, mais pas de vector::delete_at)
rétro-compatibilité avec le C, mais pas vraiment non plus.
Personnellement, j'aime bien le C++ et je le préfère à bien d'autres langages, mais il faut reconnaître ses défauts ; dont une bonne partie sont ÀMHA imputable à son âge.
[^] # Re: Donc pour résumer...
Posté par lockidor . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 10.
Je ne suis pas l'OP, mais :
= delete, un destructeurs privé virtuel par exemple) ;unique_ptr/shared_ptr/etc.]) ;vector::delete_at)Personnellement, j'aime bien le C++ et je le préfère à bien d'autres langages, mais il faut reconnaître ses défauts ; dont une bonne partie sont ÀMHA imputable à son âge.