2009-09-24 5 views
8

J'ai essayé de trouver des informations sur D. Je fais particulièrement ce comparison avec C++ pour obtenir un aperçu de ce que c'est. Maintenant, je me demande: combien de fois D est-il utilisé sur le terrain, et quelle est l'alternative viable au C++?Utilisation de D dans le domaine

+5

Je pense que c'est le genre de "question" qui doit être un wiki communautaire pour ne pas être complètement fermé. – unwind

+1

Des questions étroitement liées comprennent: http://stackoverflow.com/questions/743319/why-isnt-the-d-language-picking-up et http://stackoverflow.com/questions/250511/does-the-d- program-language-have-a-future –

+2

Je pense que la plupart des programmeurs C++ sont très satisfaits de C++ 0x. Bien sûr, la syntaxe n'est pas idéale, et donc *? Les programmeurs C + sont, plus que quiconque, habitués à ça. Le problème avec D est que ce n'est pas une alternative viable. Il n'est pas encore assez stable ou assez standardisé, il n'est pas assez supporté, il n'est pas compatible avec les millions de lignes de code C++ que vous avez déjà. Et honnêtement, si la compatibilité avec le code C++ existant n'est pas une exigence, il existe de bien meilleurs langages que * n'importe quoi * dans la famille C. – jalf

Répondre

8

Je pense que D est un langage génial, mais ce que les gens pourraient retenir de son utilisation, c'est qu'il est (afaik) pas compatible avec les bibliothèques C++. Donc, toutes les bibliothèques que vous pouvez utiliser doivent être écrites en C ou D. Donc, si vous êtes un développeur C++, passer à D n'est pas très amusant.

+1

D2 aura une compatibilité limitée avec les bibliothèques C++. http://digitalmars.com/d/2.0/cpp_interface.html En outre, si vous avez des wrappers C autour de ces bibliothèques, D prend entièrement en charge le C ABI. – dsimcha

+0

pourquoi cela est-il particulièrement préoccupant? Quelles sont les bibliothèques incompatibles et pourquoi D ne fournit-elle pas les siennes? –

+1

Puisque D souligne qu'il devrait être simple d'implémenter le langage, donc pour réduire la complexité, il ne supporte pas tout en C++ (qui est syntaxiquement un langage très complexe) car cela signifierait pratiquement avoir un compilateur C++ dans le D compilateur. Cela réduit le nombre de bibliothèques pouvant être interfacées, et il n'y a pas de liste de celles qui fonctionnent et celles qui ne le sont pas. D ne le possède pas parce qu'il est encore jeune - il n'est sorti qu'en 2007, alors que C++ a eu des décennies pour amasser des bibliothèques. –

4

Le principal obstacle à l'utilisation généralisée de D est l'absence d'ensembles et de bibliothèques d'outils immatures de première classe (comme VS). Le problème de l'EDI s'améliore avec Descent et il est prévu/prévu qu'une fois que la version D sortira, les deux bibliothèques fusionneront. La question des outils s'améliore également mais plus lentement. (IIRC il y a eu quelques progrès dans le développement de D dans la GDB officielle)

+0

sûrement un point important. –

+0

Si vous aimez Visual Studio, D peut maintenant être [une option pour vous] (http://dsource.org/projects/visuald). – Justin

1

Pour moi, le plus gros problème de D est l'absence d'un solide bailleur de fonds ou d'un logiciel de «joyaux de la couronne» qui l'utilise. Java avait Sun. C avait Bell Labs et avait écrit Unix tôt. C++ avait AT & T et ensuite Microsoft. C# a Microsoft.

+0

Pas si. La caractéristique des programmeurs est qu'ils sont paresseux. Aller à D est beaucoup de travail sans la compatibilité C++. – Calyth

+3

Je ne suis pas d'accord non plus. Qu'en est-il de Python? Il n'avait pas de «commanditaire corporatif» et se trouve maintenant dans les 10 meilleures langues (peut-être même dans le top 5 selon ce que vous comptez). – Jyaan

3

Je ne le vois pas beaucoup utilisé autour de moi (informatique scientifique). D pourrait être une alternative viable pour de nombreux cas dans le calcul scientifique où C++ est utilisé maintenant. Pour moi personnellement, deux choses me retiennent de l'utiliser:

  • Aucune spécification D2 stable pour le moment. D2 et D2 Phobos est à égalité avec (et sans doute mieux) que C++ et le STL. D1 Phobos n'est cependant même pas proche d'un remplacement. Mais puisque D2 est toujours une cible en mouvement, il se peut qu'il ne soit pas encore adapté aux programmes.
  • Absence de compilateur D2 prenant en charge x86_64. Ceci est absolument problématique pour mon domaine, car les ensembles de données ont tellement augmenté que vous avez besoin de plus de 4 Go de mémoire pour traiter efficacement les données, et les machines de 64 Go sont devenues monnaie courante.

Si ces deux problèmes sont résolus, je considérerai sérieusement D à l'avenir en plus de OCaml et Haskell.

Questions connexes