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

时间:2008-09-11 11:33:06

标签: d popularity

有人在那里使用D进行实际应用吗?如果是这样,你用它做什么?我似乎无法在用D写的网上找到任何重要内容。

尽管缺乏已知的大用户,D对我来说似乎是一种非常有用的语言,根据TIOBE,它很受欢迎。

20 个答案:

答案 0 :(得分:88)

我在D中做生物信息学工作。对我来说,D的关键在于它需要一种非常平等的方法来权衡并认识到收益递减的原则。

与严格遵守零开销原则的C ++不同,D允许功能可能具有较小的性能/空间成本,如果它们使语言更加可用。这些包括垃圾收集,每个类的监视器对象,运行时类型信息等。

与Ruby,Python,PHP等不同,D尝试几乎和C一样快,即使它比脚本语言的动态性更低,编程也更困难。
结果是当开发时间和执行时间同等重要时,这种语言是最佳的,在我的领域中大部分时间都是如此。

同样,D对安全性与灵活性采取了非常平等的方法。它假设程序员基本上知道他们在做什么,但确实犯了错误。

与C和C ++不同,它假设您不希望在代码中的任何地方使用指针,不安全的强制转换,手动内存管理等,因为它们容易出错,并假设您不希望当你搞砸了使用可调整大小的数组时筛选多页模板错误消息。

与Java和其他束缚​​和管教语言不同,D假设有时指针,不安全的强制转换,手动内存管理等是必要的恶魔,并且假设您足够聪明以处理真实模板,运算符重载等没有编写混淆代码。它还假设您可以搞砸并访问一个超出范围的阵列,但程序员最清楚在任何给定情况下应该在安全性和速度之间进行权衡。因此,是否检查数组是否只是由编译器开关确定。

答案 1 :(得分:77)

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

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

我认为D将继续以这种方式获得基层粉丝 - 在小型项目上,无论出于何种原因,他们都能放弃C ++遗产以获得更加愉快的编程语言,或许更多也很有成效。

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

答案 2 :(得分:32)

我知道有一家小型公司向市场发送了邮件服务器产品。他们至少有2人全职工作。

此外,IT业务的主要参与者有几名员工在较大的内部项目中使用D.

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

我可能遗漏了一些我应该知道的东西,可能还有一些我没有听说过,但这仍然存在,因为上述内容或多或少是我通过社区认识的。

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

答案 3 :(得分:28)

我使用D进行Web开发,与C / C ++相比,它的效率要高得多。 当然,有很多基于ruby / php / python的框架。 但是当你想要开发一些独特的东西时,也必须像C一样快,并且像在许多脚本语言中一样容易编程,那么D是一个不错的选择。

答案 4 :(得分:26)

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

随着正在进行的SWT / JFace端口,我计划做更多的工作并在D中工作,我以前用Java完成。

答案 5 :(得分:22)

Facebook宣布他们从今天开始在制作中使用它。

答案 6 :(得分:19)

我正在研究编译时代码转换。高级模板结合元组和混合使代码转换更容易,并允许在编译期间完成代码转换,而无需单独的工具。

有些物理学家使用D在D中使用元编程来增强他们的程序。

video - 会议谈话,找不到物理学家使用的源站点。

答案 7 :(得分:17)

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

答案 8 :(得分:14)

我目前的工作任务是将C#转换为D的系统。这是开发软件系统的盈利项目的一部分。

答案 9 :(得分:12)

答案 10 :(得分:7)

ABA Games发布的很多游戏都是用D 1.x编写的,不过我想象控制台端口必须用C ++重写。

我在D中写了很多游戏原型,但是我不确定这是否属于'真实世界',因为我为了自己的利益而编写它们并且从未发布过它们。

答案 11 :(得分:7)

Remedy Games似乎为他们的游戏提供了大量的D2代码库(参见Manu Evans的Using D Alongside a Game Engine - DConf 2013)。

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

答案 12 :(得分:7)

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

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

D是如此容易学习,并且无视一些陷阱(在Phobos库中)是编程的真正乐趣。

答案 13 :(得分:6)

我将D用于开发全局优化算法的研究项目。我将它应用于训练神经网络的问题。你是否想称之为“现实世界”取决于你。

答案 14 :(得分:6)

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

语言每天变得越来越强大。 D非常实用,在我看来,所有嵌入式功能,特别是元编程范式,都远远超过了C ++。语法更清晰,您可以通过 filter reduce 等函数使用函数式编程的强度,以及最重要的特性之一:你可以使用所有的C库。

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

答案 15 :(得分:6)

我写了一个在OS X上构建DGCC的包装器脚本

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

我很想听听其他DMD程序员的消息

答案 16 :(得分:4)

我想我们可以读到这个问题缺乏直接答案的问题,那就是没有多少/任何一个acive stackoverflow响应者正在使用D.我对它在TIOBE中的排名水平也有些惊讶您链接到的商家信息。

话说回来,Walter Bright已经在这个语言上工作了很多年了,我认为他有很多“追随者”,他们记得他在Zortech C ++编译器中做了多么好的工作。 20世纪90年代。我还注意到,语言现在似乎倾向于功能方向。

答案 17 :(得分:2)

D官方网站列举了目前正在使用D的组织。

  

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

D wiki还提供了一个组织列表,但它已经过时了。

仔细观察 DConf 会谈。

几乎所有在那里为一些公司工作的人,他们在工作中使用D.

答案 18 :(得分:0)

我正在开始一个项目,将我们的一些内部工具从Perl重写为D.我选择了D,因为我对该语言的设计理念非常兴奋。我已经编程了很长时间并且使用了很多语言,从汇编语言到高级语言(主要是C语言)到脚本语言(主要是Perl语言),而D语言是我热衷的第一语言。学习多年。

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

答案 19 :(得分:-1)

我在D中使用ldmd2启动了光线跟踪渲染器。

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