是否有人正在使用D语言进行真实的应用程序开发?如果是,你们用它来做什么?我在互联网上似乎找不到任何用D语言编写的大型项目。
尽管缺少众所周知的大型用户,但我认为D语言似乎是一种非常有前途的语言,而且根据TIOBE的数据,它相当受欢迎。
是否有人正在使用D语言进行真实的应用程序开发?如果是,你们用它来做什么?我在互联网上似乎找不到任何用D语言编写的大型项目。
尽管缺少众所周知的大型用户,但我认为D语言似乎是一种非常有前途的语言,而且根据TIOBE的数据,它相当受欢迎。
我在 D 中从事生物信息学工作。对我来说,D 的关键是它采用非常冷静的权衡方法,并认识到收益递减原则。
与严格遵循零开销原则的 C++ 不同,如果某些特性使语言更易用,则 D 允许具有一定性能/空间成本的功能。这些包括垃圾回收、每个类的监视器对象、运行时类型信息等。
与 Ruby、Python、PHP 等不同,D 试图尽可能地接近 C 的速度,即使它比脚本语言更少动态且稍微难编程。
结果是一种当开发时间和执行时间同等重要时最优的语言,在我的领域中这是大部分时间都是如此。
同样,D 对安全性和灵活性采取非常冷静的方法。它假设程序员基本上知道自己在做什么,但会犯错误。
与 C 和 C++ 不同,它假设您不想在代码中的每个位置都使用指针、不安全转换、手动内存管理等,因为它们容易出错,并假定您不想在出错时浏览多页模板错误消息以使用可调整大小的数组。
与 Java 和其他束缚和纪律性语言不同,D 假设有时需要使用指针、不安全转换、手动内存管理等,并假定您足够聪明,可以处理真正的模板、运算符重载等而不编写混淆的代码。它还认为您可能会出错并访问超出范围的数组,但程序员最了解在任何情况下安全和速度之间应该做出什么权衡。因此,是否对数组进行边界检查仅由编译器开关确定。
我在计算机图形学领域的研究工作中使用D语言。我和其他人已经发表了基于D语言开发的论文。我认为D语言绝对可以用于小到中型的侧重于性能的研究项目。对于研究工作来说,它非常适合,因为通常你从头开始进行,所以不必担心与遗留代码的集成。
另一个流行的应用领域似乎是Web服务。希望其他在这个领域的人可以发表评论,但是我认为,在这里,性能真的很重要,因此需要一种编译到底层的语言。服务通常是相当小的、自包含的进程,因此与大量遗留的C++代码进行互操作并没有什么必要或有用。因此,D语言可以进入市场。
我认为,D语言将继续通过这种方式获得草根级别的追随者——在某些原因可以放弃C++遗留代码而选择更加愉悦、也更可能更加高效的编程语言的小型项目中。
但是,在没有大量草根用户的情况下,我想大型公司用户也不会太多。
我知道一家小型公司推出了一款邮件服务器产品,他们至少有两名全职员工参与了这个项目。
此外,IT业的一家主要企业在内部的大型项目中有几名员工使用D语言。
此外,我还知道一家正在寻求风险投资的公司,有几个(至少4个)小公司的员工部分或全部时间使用D语言,并且至少有几个人(包括我在内)正在积极寻找咨询市场的机会。
我可能忽略了一些我本该知道的事情,也可能有一些我没有听说过但仍然存在,因为以上信息更多地是我自己通过社区得知的。
目前我的收入中只有一小部分来自于D语言。
我使用D语言进行Web开发,相比C/C++,它证明了更高的生产力。 当然,基于Ruby/PHP/Python的框架也有很多。 但是,当你想要开发一些独特的东西,既需要像C语言一样快速,又需要像许多脚本语言一样易于编程时,D语言是一个不错的选择。
我使用D语言作为硬件在环(HIL)测试环境。这是用于汽车领域的软件测试。D语言可以在此处使用,因为作为系统编程语言,它可以用于实时程序(IRQ处理程序在Linux实时扩展RTAI-LXRT中)。
随着SWT/JFace的持续移植,我计划在D语言中进行更多工作,这些工作以前都是在Java中完成的。
Facebook宣布从今天起开始在生产中使用它。
我正在使用D语言研究编译时代码转换。高级模板结合元组和混入使得代码转换更加容易,并且可以在编译时完成代码转换,而无需使用单独的工具。
有一些物理学家使用D语言进行元编程来增强他们的程序。
视频 - 会议演讲,未找到物理学家使用来源网站。
我的当前工作任务是开发一个将C#翻译成D的系统,这是一个盈利项目的一部分,旨在开发软件系统。