Outils pour utilisateurs

Outils du site


d

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

d [2013/05/06 13:23] (Version actuelle)
Ligne 1: Ligne 1:
 +=== Complexité du langage ===
  
 +D n'est pas beaucoup plus simple que le C++ qu'il prétend remplacer. Il faut des années de pratique pour le connaître, et le langage évolue en permanence. La rétro-compatibilité n'est absolument pas assurée, même en cas de "​feature-freeze"​ et rien ne compile du premier coup.
 +
 +Il est quasiment impossible d'​écrire du code compatible à la fois avec D1 et D2. D'​ailleurs beaucoup envisagent de ne pas faire la transition.
 +Pas mal de choses ne sont documentées nulle part et DMDFE sert de spécification ad-hoc.
 +
 +
 +=== Complexité de l'​éco-système ===
 +
 +Il existe une bonne dizaine de build tools plus ou moins buggés, et la communauté est fragmentée selon le compilateur + bibliothèque standard utilisée.
 +
 +  * D1 + Phobos
 +  * D1 + Tango
 +  * D2 + Phobos
 +  * LDC + Tango (linux-only)
 +
 +De plus certaines choses laissent à penser que Tango ne sera jamais porté vers D2 et que la communauté va se déchirer.
 + 
 +
 +
 +=== Les opérateurs == et is ===
 +
 +Personne ne sait vraiment ce que font == et is, ni lequel appeler dans quelles circonstances. Par exemple, il faut comparer des références d'​objets avec is, et on peut utiliser les deux pour des pointeurs.
 +
 +
 +=== Pas d'​implicit cast ===
 +
 +Contrairement au C++ un constructeur ou une surcharge de l'​opérateur de cast ne crée pas de cast implicit, ce qui est à la fois un avantage et un inconvénient.
 +
 +
 +=== Documentation ===
 +
 +La documentation et les exemples sont le plus souvent assez vieux, et seule l'​expérience permet de savoir que :
 +
 +  * le type "​bit"​ a été remplacé par "​bool"​
 +  * "​inout"​ a été remplacé par "​ref"​
 +  * le mot-clef "​invariant"​ de D2 a été remplacé par "​immutable"​
 +
 +
 +
 +=== Les critiques ===
 +
 +
 +http://​www.jfbillingsley.com/​blog/?​p=53 (certaines critiques sont maintenant invalides)
 +
 +
 +http://​h3.gd/​devlog/?​p=16 (ditto)
 +
 +
 +http://​h3.gd/​devlog/?​p=22 (appel au fork !)
d.txt · Dernière modification: 2013/05/06 13:23 (modification externe)