Merci pour ces informations; c'est ce genre de choses que j'aurais bien aimé voir dans une dépêche, un aperçu des fonctionnalités avancées du langage.
Est-ce que tu pourrais en dire un peu plus sur la signification de alias pred, et pourquoi tu utilises un compile-time test plutôt que de spécifier un type du style delegate bool(T)?
(Pour ma part je suis un peu gâté; le langage natif que j'utilise permet d'écrire ça plus facilement, depuis un peu moins de 20 ans, donc je dirais plutôt que D rattrape le retard que C, et C++ (au moins avant lambda) ont accumulé vis-à-vis de la programmation fonctionnelle. Mais je suis sûr que D a d'autres avantages, par exemple il paraît qu'il peut être utilisé sans GC, même si je ne suis pas sûr que c'est vraiment praticable.)
Enfin je suis amusé par une légère forme de langue de bois en fin de dépêche. Tu dis que le langage "n'est pas propriétaire" (je ne sais pas exactement ce que ça veut dire) mais le paquet conseillé pour Debian est "dmd", un compilo qui est justement propriétaire. […] c'est bien qu'il existe des implémentations libres à côté mais encore faut-il qu'elles soient à jour, compétitives et utilisées, ce qui reste à prouver. […]
C'est inexact. La licence du backend du compilo DMD est propriétaire, mais le frontend est complètement open source. Et on peut contribuer au backend à volonté. La seule chose qui est interdite par la licence, c'est de redistribuer le backend.
Le backend n'est pas libre, donc le compilateur dans son ensemble n'est pas libre; dire que "le compilateur (officiel) est propriétaire" me semble exact. C'est bien qu'il encourage des gens à réutiliser son frontend, regarder ses sources, etc., mais ça reste un logiciel propriétaire.
Quand aux autres compilos, si LDC (LLVM) est fortement en retard, LDC (gcc) est en retard de 2 versions, soit environ 4 mois, sur DMD. Il est parfaitement utilisable et utilisé en pratique.
Quand je disais qu'il "restait à prouver" que les alternatives libres étaient au niveau, je voulais dire que je n'en savais rien (je ne connais pas bien D) et qu'il fallait développer la question au lieu de la traiter d'un ton catégorique sans rien dire: le diable est dans les détails. Merci d'avoir apporté des précisions supplémentaires; chacun jugera comme il voudra les informations.
Moi ça me gênerait1 d'utiliser un langage dont l'implémentation principale est propriétaire et dont les concurrents libres doivent "suivre la musique" (en l'absence de spécification du langage et avec une sémantique qui évolue encore régulièrement), mais la situation es quand même raisonnable et je comprends très bien que d'autres gens s'en accommodent. Il n'empêche que j'en retiens que c'est considérablement plus compliqué, comme situation, que de dire juste "ah non c'est un mythe".
1: À mon humble avis il y a déjà assez de langages satisfaisants à l'implémentation libre pour qu'on n'ait pas besoin de jeter son dévolu sur un langage au statut moins clair. Par exemple, si j'étais intéressé par le genre de choses que met D en avant, je pourrais à la place utiliser et soutenir Rust (aussi en développement), ATS (un peu plus orienté recherche), Cyclone (un peu mort), Vala ou même Common Lisp (SBCL) ou OCaml.
[^] # Re: Bof
Posté par gasche . En réponse à la dépêche Le langage D. Évalué à 4.
Merci pour ces informations; c'est ce genre de choses que j'aurais bien aimé voir dans une dépêche, un aperçu des fonctionnalités avancées du langage.
Est-ce que tu pourrais en dire un peu plus sur la signification de
alias pred, et pourquoi tu utilises un compile-time test plutôt que de spécifier un type du styledelegate bool(T)?(Pour ma part je suis un peu gâté; le langage natif que j'utilise permet d'écrire ça plus facilement, depuis un peu moins de 20 ans, donc je dirais plutôt que D rattrape le retard que C, et C++ (au moins avant
lambda) ont accumulé vis-à-vis de la programmation fonctionnelle. Mais je suis sûr que D a d'autres avantages, par exemple il paraît qu'il peut être utilisé sans GC, même si je ne suis pas sûr que c'est vraiment praticable.)Le backend n'est pas libre, donc le compilateur dans son ensemble n'est pas libre; dire que "le compilateur (officiel) est propriétaire" me semble exact. C'est bien qu'il encourage des gens à réutiliser son frontend, regarder ses sources, etc., mais ça reste un logiciel propriétaire.
Quand je disais qu'il "restait à prouver" que les alternatives libres étaient au niveau, je voulais dire que je n'en savais rien (je ne connais pas bien D) et qu'il fallait développer la question au lieu de la traiter d'un ton catégorique sans rien dire: le diable est dans les détails. Merci d'avoir apporté des précisions supplémentaires; chacun jugera comme il voudra les informations.
Moi ça me gênerait1 d'utiliser un langage dont l'implémentation principale est propriétaire et dont les concurrents libres doivent "suivre la musique" (en l'absence de spécification du langage et avec une sémantique qui évolue encore régulièrement), mais la situation es quand même raisonnable et je comprends très bien que d'autres gens s'en accommodent. Il n'empêche que j'en retiens que c'est considérablement plus compliqué, comme situation, que de dire juste "ah non c'est un mythe".
1: À mon humble avis il y a déjà assez de langages satisfaisants à l'implémentation libre pour qu'on n'ait pas besoin de jeter son dévolu sur un langage au statut moins clair. Par exemple, si j'étais intéressé par le genre de choses que met D en avant, je pourrais à la place utiliser et soutenir Rust (aussi en développement), ATS (un peu plus orienté recherche), Cyclone (un peu mort), Vala ou même Common Lisp (SBCL) ou OCaml.