在现实世界中的D编程语言?


135

有人在那里使用D来进行真实世界的应用程序吗?如果是这样,你用它来做什么?我似乎无法在D上写出任何大的网页。

尽管缺乏已知的大用户,但D对我来说似乎是一种非常有前途的语言,根据TIOBE,它相当流行。

  0

没有什么大的,因为D本身对构建大型复杂应用程序来说相当糟糕。它表面上看起来很棒,但一旦你尝试做任何商业广告,所有的裂缝都会开始显示,而粉丝们则很少要为商业用户创建合适的结构化软件(我敢肯定,金钱与很多事情有关但领导力和组织也是如此)。编写命令行实用程序或5k行算法是一回事,但完全不同于创建非常复杂的业务应用程序,该应用程序涉及多个区域,如gui,音频等。 13 9月. 172017-09-13 08:33:17

  0

确保您可以一起破解某些内容,但这不是商业用途。一个企业不会把时间/金钱投入到如此薄弱的事情上。没有合适的IDE,我用过的每一个IDE都让我想要打开某些东西。它的速度比正确调试应用程序慢10倍左右,因为错误消息很糟糕,调试器既不能正常工作,也不能正常工作,我们所期望的现代特征不存在或不存在,而图书馆因为没有逻辑结构而被fubar化了(东西被“随意”地移动,奇怪的命名方案如“chomp”和“detabber”等) 13 9月. 172017-09-13 08:36:19

  0

I猜猜它是阴/阳,D中的某些事物是惊人的,没有什么东西接近(但是)......但另一方面,事物的失败也非常强烈,只有当他们真正把时间编写真正的应用程序,而不是做简单或算法的东西,直到D组织得到它们一起(需要多长时间?10年,20年?)真正的企业不会投资于它。想要花费10倍的时间来调试应用程序,因为IDE没有达到鼻烟。 13 9月. 172017-09-13 08:39:32

  0

@Stretto你是什么意思? https://dlang.org/orgs-using-d.html 13 11月. 172017-11-13 19:19:00

  0

另外@Stretto缺乏知识并不意味着语言不好。我从未遇到在D中设置工作环境的问题,并将其用于商业工作。 13 11月. 172017-11-13 19:20:41

76

我使用D进行计算机图形学领域的研究工作。我和其他人根据使用D完成的工作在我们的领域发表了论文。我认为它绝对可以用于性能至关重要的中小型研究项目。这对研究工作非常合适,因为无论如何你都是从头开始的,所以你没有太多遗留代码来担心集成问题。

另一个受欢迎的区域似乎是Web服务。希望别人能评论谁在这个领域,但我也认为这个想法是,性能往往非常重要,所以你需要一个编译到金属的语言。服务通常是相当小的,自包含的过程,因此与大量的传统C++代码进行互操作并不是真正必要或有用的。因此,D可以在门口得到它的脚。

我认为D将会继续以这种方式获得基层的追随者 - 关于小型项目,无论出于何种原因,都可以抛弃C++遗产,以获得使用起来更愉快的编程语言,也许更高效。

但是,除非有大量的基层用户,否则我不会怀疑大型企业用户。

+10

我纯粹在D中开发客户机/服务器应用程序,并且与C库有一些绑定,但仅限于客户端的GUI部分,用于荷兰较受欢迎的服务之一。尽管我必须说服我的老板,但他似乎没有遗憾。 ;-) - D尤其在这里发光,因为标准库提供了BSD套接字的实现,即使在Windows上也是如此。一次写入,随处部署,非常好。 29 5月. 112011-05-29 15:02:01

  0

@JesseBrands你使用phobos还是探戈? 14 9月. 142014-09-14 11:44:05

  0

@qed我使用了phobos。 16 11月. 142014-11-16 15:05:38


4

我想我们可以读到一些东西,缺乏对这个问题的直接答案,那就是没有很多/任何一个acover stackoverflow响应者正在使用D.我也有点惊讶它的排名水平在您链接到的TIOBE列表。

话虽如此,Walter Bright多年来一直致力于这门语言的研究,我认为他有很多“追随者”记得他在Zortech C++编译器方面做了很好的工作。 90年代。我还注意到,该语言现在似乎倾向于功能方向。

+3

其实现在在这个网站上搜索D是不可能的。搜索“d”或“d编程”说“没有命中”,并且在标签上搜索“d”列出一页包含“d”但不包含“d”的标签。所以这也可能与它有关。 17 9月. 082008-09-17 09:31:44

+20

在搜索框中搜索[d]以获取基于标签的搜索。 03 11月. 082008-11-03 18:06:32


26

我在循环(HIL)测试环境中使用D作为硬件。这是用于汽车领域的软件测试。 D可以在这里使用,因为作为系统编程语言,它可以用于实时程序(在Linux实时扩展RTAI-LXRT中的IRQ处理程序)。

随着SWT/JFace正在进行的工作,我打算做更多的工作,并且在D中工作,我以前在Java中会这样做。


28

我使用D进行Web开发,与C/C++相比,它证明了更多的生产力。 当然,还有很多基于ruby/php/python的框架。 但是,当你想开发一些独特的东西时,它的速度必须和C一样快,并且像在许多脚本语言中一样容易编程,那么D是一个不错的选择。

+3

我可以问一下吗?你使用什么框架或库? 24 1月. 142014-01-24 01:55:06


19

我在编译时代码翻译的研究中使用D.先进的模板结合元组和mixin使得代码转换更容易,并且允许在编译期间完成代码转换,而不需要单独的工具。

有使用d加强与元编程方案D.

video物理学家的一些例子 - 会议上的演讲,找不到物理学家使用的源站点。

  0

我的一个类似的类似项目,也在D http://www.dsource.org/projects/scrapple/browser/trunk/dparser/dparse.d 16 9月. 082008-09-16 18:52:46


86

我做生物信息学D.工作对我来说,关于d事情的关键是,它需要一个非常冷静的方式来权衡,并确认收益递减原则。

和C++不同,它严格坚持零开销原则,d允许,可能有一个小的性能/成本的空间特性,如果他们使语言更大量使用。这些包括垃圾收集,每个类的监视器对象,运行时类型信息等。

与Ruby,Python,PHP等不同,D尝试几乎与C一样快,即使动态性较差,稍微多一点难于编程比脚本语言。
结果是一种语言,当开发时间和执行时间同等重要时,在我的领域中大部分时间都是重要的。

同样,D在安全性和灵活性方面采取了非常先进的方法。它假定程序员基本知道他们在做什么,但是会犯错误。

与C和C++不同,它假设您不想在代码中的任何地方使用指针,不安全的转换,手动内存管理等,因为它们容易出错,并且假定您不想要当你搞砸只是为了使用可调整大小的数组时,筛选多页面模板错误消息。与Java和其他束缚​​与纪律语言不同,D假定有时指针,不安全的转换,手动内存管理等是必要的罪恶,并且假定你足够聪明以处理真实模板,操作符重载,等等,而不用编写混淆代码。它还假设你可能会搞砸并访问一个数组越界,但程序员知道在任何情况下安全和速度之间应该做什么权衡。因此,是否检查数组是否被编译器开关简单地确定。

+2

什么是监视器对象?我似乎无法找到结果。 25 2月. 142014-02-25 15:50:54

+2

与C++相比,我非常喜欢D语言。更快的编译时间,使用更少代码的能力,无需头文件等等。然而,问题在于它没有任何人执行严肃的GUI工作。当然,我可以使用GtkD,但尝试绘制一系列花哨的图表。我看到在与GUI集成Chromium方面做出了很大的工作,但该项目基本上没有记录,需要更多的参与者。我希望这种变化,但这就是我在2015年9月在这里看到的。 23 9月. 152015-09-23 18:46:49

  0

对象监视器是垃圾**。它锁定了整个方法,它真的很浪费...... 29 11月. 152015-11-29 21:41:40

  0

@Volomike我最近也在研究D,并且类似地使用它来制作图形界面工具也很困难。我目前没有任何事实上的解决方案来用D来制作优雅的GUI工具,这是我可能很快就会开始解决的问题。 14 3月. 162016-03-14 20:31:03


7

很多由ABA Games发布的游戏都写在d 1.x中,虽然我想象控制台端口必须用C++重写这些代码。

我写得挺d几个游戏的原型,但我不知道是否有资格作为“真实世界”,因为我写了他们为自己的利益,从来没有公布任何人。

  0

请问您可以更具体地了解哪些游戏是使用D创建的? 12 1月. 172017-01-12 02:13:45


14

我目前的工作任务是把C#来D.这是作为以盈利为目的的项目,开发一个软件系统的一部分的系统。


32

我知道一家小公司向市场发送了邮件服务器产品。他们至少有2人全职从事这个项目。

此外,在IT业务的主要参与者有更大的内部项目中使用d多名员工。

此外,我知道有一家公司正在寻求风险投资,几家(至少4家)小型公司的员工部分或全部使用D,至少有一对(包括我)在咨询市场积极寻求机会。

我可能忽略了一些我应该知道的信息,可能有些我没有听说过,但仍然存在,因为上面的内容或多或少是我通过社区认识我自己的内容。

我目前的收入一小部分来自D.

  0

你能否提名这些组织?了解更多关于这些项目的信息也很好。 12 1月. 172017-01-12 02:03:42


6

我用d我发展全局优化算法的研究项目。我将它用于训练神经网络的问题。无论你想称之为“现实世界”,由你决定。

  0

源代码或某些信息可用于您所做的事情? 12 1月. 172017-01-12 02:15:21


6

我写的建立DGCC在OS X包装脚本

http://github.com/davecheney/make-gdc-apple/tree/master

我喜欢从其他DMD程序员那里听到


17

我们整个的(高流量)网络基础设施仅基于D1和探戈。我们是柏林一家年轻的创业公司:sociomantic.com


7

我写了一个软件(用于将测试仪协议从各种硬件测试站转换为标准输出格式以实现可追溯性等)。

所有超过5k行代码,用D 1.x和Phobos库编写。

D是如此容易学习,并忽略了一些陷阱(在Phobos库中)编程的真正快乐。


6

我使用D2,该版本的第二个标准。我编写了实时应用程序(例如3D引擎)。

语言每天都变得越来越强大。 D非常实用,所有嵌入式特性,尤其是元编程范例,在我看来,它远远超过C++。语法更清晰,可以使用函数编程的实力通过函数如过滤器减少,其中最重要的功能之一是:可以使用所有的C库。

绝对是我最喜欢的语言,我敢肯定它将是一种传播使用的语言。

  0

是否可以看到使用D创建的某些东西的源代码? 12 1月. 172017-01-12 02:21:19

  0

自从评论已经有一段时间了!我现在主要在Rust和Haskell编码,但我有几个项目。我在我的github上有一些东西,但我认为不值得挖掘它。那评论是4岁!我应该看看所有这些的当前状态... 13 1月. 172017-01-13 09:05:51


7

Remedy Games似乎对他们的游戏有很大的D2代码库(参见Manu Evans-DConf 2013的​​)。

他们是一家大公司,知道一家大公司使用D是非常好的。


22

Facebook宣布他们正在使用它在今天的生产。

  0

相关讨论:http://www.reddit.com/r/programming/comments/1o7p2f/facebook_is_using_d_in_production_starting_today/和https://news.ycombinator.com/item ?id = 6532322 12 10月. 132013-10-12 17:27:54


-1

我用ldmd2开始了D中的光线跟踪渲染器。

http://palaes.rudanium.org/SubSpace/render.php

  0

请修复链接。 12 1月. 172017-01-12 01:53:26


0

我开始一个项目,改写我们的一些Perl的内部工具D.我选择d,因为我很兴奋语言的设计理念。我从事编程很长一段时间,从汇编程序到高级语言(主要是C语言)到脚本语言(主要是Perl)都使用了很多语言,并且D是我多年来一直热衷于学习的第一种语言。

由于一个主要原因 - 安全性,我决定转向编译语言。在功能上,Perl对我工作的工具集非常适用,但它不安全 - 任何可以运行脚本的人都可以读取,复制和创建他们自己的修改版本的工具。 (他们会这样做。)我知道有一些迂回的方法可以解决这个问题,但说实话,我没有足够的时间去管理所有这些,并且仍然能够完成我的主要工作。


2

的D'官方网站列举了目前正在使用D.

http://dlang.org/orgs-using-d.html

D wiki还提供了组织名单的组织,但它是过时的。

只要仔细观察DConf会谈。

几乎所有的人有一些公司工作,他们用d工作。