138 votes

D dans le monde réel ?

Quelqu'un utilise-t-il D pour des applications réelles ? Si oui, à quoi sert-il ? Je n'arrive pas à trouver quelque chose d'important sur le web écrit en D.

Malgré le manque de grands utilisateurs connus, D me semble être un langage très prometteur, et selon TIOBE c'est assez populaire.

11 votes

Récemment annoncé dans le forums dlang Facebook utilise désormais D en production.

0 votes

Il n'y a rien de grand parce que D lui-même est assez pauvre pour construire de grandes applications complexes. Il a l'air génial en surface, mais une fois que vous essayez de faire quelque chose de commercial, toutes les fissures commencent à apparaître et il y a très peu de volonté de la part des fans de créer des logiciels correctement structurés pour le public commercial (je suis sûr que l'argent a beaucoup à voir avec cela, mais aussi le leadership et l'organisation). C'est une chose d'écrire un utilitaire en ligne de commande ou un algorithme en ligne de 5k, mais c'est totalement différent de créer une application commerciale très complexe qui implique de multiples domaines tels que l'interface utilisateur, l'audio, etc.

0 votes

Bien sûr, vous pouvez bricoler quelque chose, mais ce n'est pas commercial. Une entreprise ne va pas investir son temps et son argent dans quelque chose d'aussi peu fiable. Il n'y a pas de bon IDE et tous ceux que j'ai utilisés m'ont donné l'envie d'enfoncer quelque chose. Il est environ 10 fois plus lent de déboguer correctement des applications parce que les messages d'erreur sont terribles, le débogueur ne fonctionne pas ou fonctionne contre vous, les fonctionnalités modernes que nous attendons sont inexistantes ou pauvres, et la bibliothèque est fubar'ed parce qu'elle n'a aucune structure logique (les choses sont déplacées "arbitrairement", des schémas de nommage bizarres comme "chomp" et "detabber", etc ).

88voto

dsimcha Points 32831

Je travaille en bioinformatique dans D. Pour moi, l'élément clé de D est qu'il adopte une approche très équilibrée des compromis et reconnaît le principe des rendements décroissants.

Contrairement au C++, qui adhère rigoureusement au principe de l'absence de frais généraux, D autorise des fonctionnalités qui peuvent avoir un faible coût en termes de performances et d'espace si elles rendent le langage beaucoup plus utilisable. Il s'agit notamment de la collecte des déchets, d'un objet moniteur pour chaque classe, d'informations sur les types à l'exécution, etc.

Contrairement à Ruby, Python, PHP, etc., D essaie d'être presque aussi rapide que C, même s'il est moins dynamique et légèrement plus difficile à programmer que les langages de script.
Le résultat est un langage qui est optimal lorsque le temps de développement et le temps d'exécution ont une importance à peu près égale, ce qui, dans mon domaine, est la plupart du temps.

De même, D adopte une approche très équilibrée de la sécurité par rapport à la flexibilité. Il part du principe que les programmeurs savent fondamentalement ce qu'ils font, mais qu'ils font des erreurs.

Contrairement au C et au C++, il suppose que vous ne voulez pas utiliser des pointeurs, des casts non sécurisés, une gestion manuelle de la mémoire, etc., partout dans votre code, parce qu'ils sont sources d'erreurs, et suppose que vous ne voulez pas passer en revue des messages d'erreur de plusieurs pages lorsque vous vous plantez juste pour utiliser des tableaux redimensionnables.

Contrairement à Java et à d'autres langages de type "bondage-and-discipline", D suppose que parfois les pointeurs, les casts non sécurisés, la gestion manuelle de la mémoire, etc. sont un mal nécessaire, et suppose que vous êtes suffisamment intelligent pour gérer les vrais templates, la surcharge des opérateurs, etc. sans écrire de code obfusqué. Il suppose également que vous pouvez vous tromper et accéder à un tableau hors limites, mais que le programmeur est le mieux placé pour savoir quel compromis il faut faire entre sécurité et vitesse dans une situation donnée. Par conséquent, la vérification des limites des tableaux est simplement déterminée par une option du compilateur.

2 votes

Qu'est-ce qu'un objet moniteur ? Je n'arrive pas à trouver de résultats à ce sujet.

2 votes

J'aime beaucoup le langage D par rapport au C++. Des temps de compilation plus rapides, la possibilité d'utiliser moins de code, pas de fichiers d'en-tête, etc. Le problème, cependant, est qu'il manque quelqu'un pour faire un travail sérieux d'interface graphique. Bien sûr, je peux utiliser GtkD, mais essayez de dessiner une série de graphiques fantaisistes. Je vois un travail prometteur dans l'intégration avec Chromium pour une interface graphique, mais ce projet est largement non documenté et a besoin de plus de joueurs dans cet espace. J'espère que cela va changer, mais c'est ce que je vois ici en septembre 2015.

0 votes

Le moniteur d'objets est une connerie. Il bloque toute la méthode, c'est vraiment du gaspillage ...

77voto

Baxissimo Points 1822

J'utilise D pour mon travail de recherche dans le domaine de l'infographie. D et d'autres ont publié des articles dans leurs domaines respectifs sur la base de travaux réalisés avec D. Je pense qu'il est définitivement prêt à être utilisé pour des projets de recherche de petite ou moyenne envergure où les performances sont importantes. Il convient parfaitement aux travaux de recherche car, souvent, on part de zéro et on n'a pas à s'inquiéter de l'intégration d'un code hérité.

Un autre domaine d'utilisation populaire semble être les services web. J'espère que quelqu'un d'autre pourra commenter cet espace, mais là aussi, je pense que l'idée est que les performances sont souvent très importantes et qu'il faut donc un langage compilé jusqu'à la moelle. Les services sont souvent des processus assez petits et autonomes, de sorte que l'interopérabilité avec de grandes quantités de code C++ hérité n'est pas vraiment nécessaire ou utile. C'est ainsi que D peut s'imposer.

Je pense que D continuera à gagner des adeptes de base de cette manière - sur de petits projets qui, pour une raison ou une autre, peuvent se permettre d'abandonner l'héritage C++ afin d'obtenir un langage de programmation beaucoup plus agréable à utiliser, et peut-être aussi plus productif.

Mais tant qu'il n'y aura pas un grand nombre d'utilisateurs de base, il n'y aura pas beaucoup de grandes entreprises utilisatrices, je pense.

10 votes

Je développe des applications client/serveur purement en D avec quelques liens vers des bibliothèques C, mais seulement pour la partie GUI du client pour l'un des services les plus populaires aux Pays-Bas. J'ai dû convaincre mon patron, mais il ne semble pas avoir de regrets ;-) -- D brille particulièrement ici car la bibliothèque standard fournit une implémentation des sockets BSD, même sous Windows. Ecrire une fois, déployer partout, très bien.

0 votes

@JesseBrands Utilisez-vous Phobos ou Tango ?

32voto

larsivi Points 1298

Je connais une petite entreprise qui a lancé un produit de serveur de courrier sur le marché. Ils avaient au moins 2 personnes travaillant à plein temps sur le projet.

De même, un acteur majeur du secteur informatique a plusieurs employés qui utilisent D dans des projets internes plus importants.

En outre, je connais une entreprise qui cherche à obtenir un financement à risque, plusieurs (au moins 4) employés de petites entreprises qui utilisent D à temps partiel ou à temps plein, et au moins deux (dont moi) qui cherchent activement des opportunités sur le marché du conseil.

J'en ai probablement oublié quelques-uns que j'aurais dû connaître, et probablement d'autres dont je n'ai pas entendu parler, mais cela existe toujours, car les éléments ci-dessus sont plus ou moins ceux que je connais moi-même via la communauté.

Un petit pourcentage de mes revenus actuels provient de D.

0 votes

Pouvez-vous nommer les organisations ? Il serait également agréable d'en savoir plus sur ces projets.

30voto

J'utilise le D pour le développement web et il s'est avéré beaucoup plus productif que le C/C++. Il y a beaucoup de frameworks basés sur ruby/php/python, bien sûr. Mais lorsque vous voulez développer quelque chose d'unique qui doit aussi être aussi rapide que C et presque aussi facile à programmer que dans de nombreux langages script, alors D est un bon choix.

26voto

J'utilise D pour un environnement de test Hardware in the loop (HIL). Il s'agit de tests de logiciels dans le domaine de l'automobile. D peut être utilisé ici, car en tant que langage de programmation système, il peut être utilisé dans des programmes en temps réel (gestionnaires d'IRQ dans une extension temps réel linux RTAI-LXRT).

Avec le portage en cours de SWT/JFace, je prévois de faire plus et de travailler en D ce que j'aurais fait en Java auparavant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X