有人在现实世界中使用 D 应用程序吗?如果是这样,你用它来做什么?我在网上找不到任何用 D 写的东西。
尽管缺乏已知的大用户,D 对我来说似乎是一种非常有前途的语言,而且根据 TIOBE,它相当流行。
我想我们可以解读一下这个问题缺乏直接答案的原因,那就是没有多少/任何主动堆栈溢出响应者使用 D。我也对它在你链接到的 TIOBE 列表中的排名水平感到有点惊讶。
话虽如此,Walter Bright 已经从事这门语言工作很多年了,我认为他有相当多的“追随者”,他们记得他在90年代对 Zortech C + + 编译器做了多么出色的工作。我还注意到语言现在似乎倾向于函数方向。
我在计算机图形学领域的研究工作中使用了 d。我和其他人已经在我们的研究领域发表了论文,这些论文都是基于使用 D 所做的工作。我认为它绝对可以用于中小型研究项目,因为这些项目的性能很重要。它非常适合于研究工作,因为无论如何通常都是从头开始,所以不需要担心与太多遗留代码集成。
另一个流行的使用领域似乎是 Web 服务。希望有其他人可以评论谁在这个空间,但我也认为这里的想法是,性能往往真的很重要,所以你需要一个编译到金属的语言。服务通常是相当小的、自包含的流程,因此与大量遗留 C + + 代码进行互操作实际上并不必要或有用。这样 D 就可以进门了。
我认为 D 会继续通过这种方式获得草根追随者——在小型项目中,不管出于什么原因,他们都可以抛弃 C + + 的遗产,以获得一种使用起来更加愉快,或许也更加高效的编程语言。
但我怀疑,除非有大量的草根用户,否则不会有太多的大公司用户。
我和其他人一样写过几篇 D 调的研究论文。
Http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.d.announce&artnum=13337
Http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.d.announce&article_id=9466.
我使用 D 作为硬件在循环(HIL)测试环境。这是用于汽车领域的软件测试。可以在这里使用 D,因为作为一种系统编程语言,它可以用于实时程序(Linux 实时扩展 RTAI-LXRT 中的 IRQ 处理程序)。
随着 SWT/JFace 的进行,我计划做更多的工作,并在 D 中工作,这是我以前在 Java 中做过的。
我使用 D 进行 web 开发,事实证明它比 C/C + + 更有效率。 当然,有很多基于 Ruby/php/python 的框架。 但是,当您想要开发一些独特的东西,也必须像 C 一样快,并且几乎像在许多脚本语言中那样容易编程时,那么 D 是一个很好的选择。
我用 D 来研究编译时代码的转换。高级模板结合元组和混合使代码转换更加容易,并且允许在编译期间完成代码转换,而不需要单独的工具。
有一些物理学家使用 D 来增强他们的程序与元编程在 D 的例子。
视频 -会议谈话,找不到物理学家使用的源站点。
我从事 D 领域的生物信息学工作,对我来说,关键在于 D 领域采取了一种非常冷静的方法来进行权衡,并且认识到了报酬递减的原则。
与严格遵循零开销原则的 C + + 不同,D 允许性能/空间成本较小的特性,如果它们使语言更加可用的话。其中包括垃圾收集、每个类的监视器对象、运行时类型信息等。
与 Ruby、 Python、 PHP 等不同的是,D 试图几乎和 C 一样快,即使它动态性较差,而且比脚本语言编程稍微困难一些。 当开发时间和执行时间同等重要时,结果是一种最佳的语言,在我的领域中,这是大多数时间。
类似地,D 对安全性和灵活性采取了非常冷静的态度。它假设程序员基本上知道他们在做什么,但是确实会犯错误。
与 C 和 C + + 不同的是,它假设你不想在代码的任何地方使用指针、不安全的强制转换、手动内存管理等等,因为它们容易出错,并假设你不想在你搞砸时筛选多页模板错误消息,只是为了使用可调整大小的数组。
与 Java 和其他束缚和约束语言不同,d 假设有时候指针、不安全的强制转换、手动内存管理等等是必要的罪恶,并假设您足够聪明,能够处理真正的模板、运算符重载等,而不需要编写混乱的代码。它还假设您可能会搞砸并访问一个超出界限的数组,但是程序员最清楚在任何给定的情况下应该在安全性和速度之间做出什么权衡。因此,数组是否被检查边界只是由编译器开关决定的。
ABA 游戏发布的许多游戏都是用 D1.x 编写的,尽管我想控制台端口必须用 C + + 重写。
我用 D 语言编写了不少游戏原型,但我不确定这是否符合“现实世界”的标准,因为我是为了自己的利益而编写这些原型的,而且从未发布过任何一个。
我目前的工作任务是一个将 C # 转换为 D 的系统。这是作为一个盈利项目的一部分,以开发一个软件系统。
我知道一家小公司已经向市场发送了一个邮件服务器产品。他们至少有两个人全职从事这个项目。
此外,IT 业务的主要参与者有几个员工在较大的内部项目中使用 D。
此外,我还知道有一家公司正在寻求风险投资,有几个(至少4个)小公司的员工在兼职或全职使用 D,至少有几个(包括我在内)正在积极寻找咨询市场的机会。
我可能遗漏了一些我应该知道的,也可能有一些我没有听说过,但它们仍然存在,因为上面这些或多或少是我通过社区了解自己的。
我目前收入的一小部分来自 D。
我用 D 做了一个关于开发全局优化算法的研究项目。我把它应用到训练神经网络的问题上。这取决于你是否愿意称之为“真实世界”。
我编写了一个在 OS X 上构建 DGCC 的包装器脚本
Http://github.com/davecheney/make-gdc-apple/tree/master
我很想听听其他 DMD 程序员的意见
我们的整个(高流量)网络基础设施仅基于 D1和 Tango。我们是一个年轻的创业公司在柏林: Sociomantic.com
我编写了一个软件(我仍然在维护和开发) ,用于将测试人员协议从各种硬件测试站转换为标准化的输出格式,以实现可跟踪性之类的东西。
总共有超过5000行的代码,是用 D1.x 和 Phobos 库编写的。
D 非常容易学习,并且忽略一些陷阱(在 Phobos 库中)是编程的真正乐趣。
我使用 D2,这个版本的第二个标准,我编写了实时应用程序(例如3D 引擎)。
语言一天比一天强大。D 是非常实用的,所有的嵌入式特性,特别是元编程范例,使它远远超过 C + + ,在我看来。语法更加清晰,您可以通过诸如 过滤器或 减少之类的函数使用 函数式程序设计的强度,并且最重要的特性之一是: 您可以使用所有的 C 库。
绝对是我最喜欢的语言,而且我很确定它将成为一种流行的使用语言。
看起来 补救游戏对于他们的游戏有一个很大的 D2代码库(参见 Manu Evans-DConf 2013的 在游戏引擎旁边使用 D)。
他们是一个大公司,知道一个大公司使用 D 是非常好的。
Facebook 宣布从今天开始他们正在生产中使用它。
我用 ldmd2在 D 中启动了一个射线跟踪渲染器。
Http://palaes.rudanium.org/subspace/render.php
我正在开始一个项目,重写一些从 Perl 到 D 的内部工具。我选择 D 是因为我对这门语言的设计理念非常感兴趣。我从事编程很长时间了,使用过很多语言,从汇编程序到高级语言(主要是 C 语言)再到脚本语言(主要是 Perl 语言) ,D 语言是我多年来热衷于学习的第一种语言。
我决定搬到编译语言主要是为了安全。从功能上来说,Perl 在我使用的工具集中工作得很好,但是它是不安全的——任何能够运行脚本的人都可以读取、复制和创建他们自己修改过的工具版本。(的确如此。)我知道有一些迂回的方法来解决这个问题(某种程度上) ,但是老实说,我没有足够的时间来处理所有这些事情,同时还能完成我的主要工作。
D 的官方网站列举了目前使用 D 的组织。
Http://dlang.org/orgs-using-d.html
维基百科还提供了一个组织列表,但是它已经过时了。
请仔细观看 译自: 美国《科学》杂志网站(http://www.DConf.org)原文地址: http://www.DConf.org的演讲。
那里几乎所有的人都为某个公司工作,他们在工作中使用 D。