外面有人在现实应用中使用D吗?如果是这样,您将其用于什么?我似乎在用D编写的网络上找不到任何重要的东西。
尽管缺少知名的大用户,但D对我而言似乎是一种非常令人发指的语言,根据TIOBE的说法,它相当受欢迎。
外面有人在现实应用中使用D吗?如果是这样,您将其用于什么?我似乎在用D编写的网络上找不到任何重要的东西。
尽管缺少知名的大用户,但D对我而言似乎是一种非常令人发指的语言,根据TIOBE的说法,它相当受欢迎。
Answers:
我在计算机图形学领域的研究工作中使用了D。我和其他人已经基于使用D完成的工作在我们的领域发表了论文。我认为对于性能至关重要的中小型研究项目,它肯定可以使用。这非常适合研究工作,因为无论如何您通常都是从头开始,因此您不必担心要与之集成的大量旧代码。
另一个受欢迎的领域似乎是Web服务。希望其他人可以评论这个领域的人,但是我也认为,性能通常很重要,因此您需要一种编译为金属的语言。服务通常是很小的,独立的进程,因此与大量旧式C ++代码互操作并不是真正必要或有用的。因此,D可以踏入门。
我认为D将以这种方式继续赢得基层关注者-在较小的项目上,无论出于何种原因,这些项目都可以放弃C ++的遗产,从而获得一种更令人愉悦的使用编程语言,也许还会提高生产力。
但是,除非有大量的基层用户,否则我怀疑大型企业用户的方式不会太多。
我在D从事生物信息学工作。对我而言,D的关键在于,它采用一种非常头脑冷静的方法进行权衡,并认识到收益递减的原理。
与严格遵循零开销原则的C ++不同,D如果允许某些特性使语言更加实用,则允许其性能/空间成本降低。其中包括垃圾收集,每个类的监视对象,运行时类型信息等。
与Ruby,Python,PHP等不同,D试图与C几乎一样快,即使它的动态性比脚本语言要差,并且编程难度也比C语言略高。
结果是一种语言,在开发时间和执行时间都差不多时,这是一种最佳语言,在我的领域中,这是大多数时间。
同样,D在安全性和灵活性方面采取了非常严格的方针。它假定程序员基本上知道他们在做什么,但确实会犯错误。
与C和C ++不同,它假定您不想在代码中的任何地方都使用指针,不安全的强制转换,手动内存管理等,因为它们容易出错,并且假定您不想在多处进行筛选。页模板错误消息(仅使用可调整大小的数组时)。
与Java和其他约束和纪律语言不同,D假定有时指针,不安全的强制转换,手动内存管理等是必不可少的,并假定您足够聪明,可以处理实际模板,运算符重载等而无需编写混淆的代码。它还假定您可能搞砸了并访问了一个数组,但程序员最清楚在任何给定情况下都应该在安全性和速度之间进行权衡。因此,是否通过边界检查数组仅由编译器开关确定。
我使用D进行Web开发,事实证明,与C / C ++相比,D的生产率更高。当然,有很多基于ruby / php / python的框架。但是,当您要开发独特的东西时,就像在许多脚本语言中一样,它的速度必须与C一样快,并且几乎像编程一样容易,那么D是一个不错的选择。
Facebook宣布从今天开始在生产中使用它。
我正在使用D进行有关编译时代码转换的研究。先进的模板与元组和mixin结合使用,使代码转换变得更加容易,并允许在编译时完成代码转换,而无需单独的工具。
有一些物理学家使用D来通过D中的元编程来增强其程序的示例。
视频 -会议讲话,找不到物理学家使用的来源站点。
我们的整个(高流量)网络基础架构仅基于D1和探戈。我们是柏林一家年轻的创业公司:sociomantic.com
看来Remedy Games的游戏具有大型D2代码库(请参阅在游戏引擎旁边使用D Manu Evans撰写的 -DConf 2013)。
他们是一个大公司,知道一个大公司正在使用D是非常好的。
我使用D2,该版本的第二个标准。我编写了实时应用程序(例如3D引擎)。
语言每天都在变得越来越强大。我认为D非常实用,所有嵌入式功能(尤其是元编程范例)使它远远超过了C ++。语法更清晰,您可以通过filter或reduce之类的功能来利用函数式编程的优势,并且是最重要的功能之一:可以使用所有C库。
绝对是我最喜欢的语言,而且我敢肯定,它将是一种广泛使用的语言。
我想我们可以从缺乏对这个问题的立即答案的角度读到一些东西,那就是,没有多少/任何积极的stackoverflow响应者正在使用D。链接到。
话虽如此,沃尔特·布赖特(Walter Bright)从事这种语言的研究已经有很多年了,我认为他有很多“追随者”,他们都记得他在90年代对Zortech C ++编译器所做的出色工作。我还注意到,该语言现在似乎倾向于功能性方向。
我正在开始一个项目,以将我们的一些内部工具从Perl重写为D。我之所以选择D,是因为我对该语言的设计理念感到非常兴奋。我已经进行了很长时间的编程,并使用了许多语言,从汇编程序到高级语言(大部分为C)再到脚本语言(大部分为Perl),D是我多年来一直热衷于学习的第一语言。 。
我决定迁移到编译语言是出于一个主要原因-安全性。从功能上讲,Perl在我使用的工具集上工作得很好,但是它是不安全的-任何可以运行脚本的人都可以读取,复制和创建自己的工具修改版本。(而且确实如此。)我知道有一些circuit回的方法可以解决这个问题(有点),但是老实说,我一天没有足够的时间来处理所有这些问题,仍然可以完成我的主要工作。