19

这里有人曾经使用过D 编程语言吗?

它似乎有许多不错的特性,但它会达到那些当前广泛使用的语言(如 C++、Java 或 C#)的流行程度吗?

那么它是否值得学习,还是一种前景渺茫的孤立语言。

4

2 回答 2

38

我花了几天时间玩 D,看看它与 C++ 和 java 相比如何。它被定位为实现与 C++ 相同的另一种方式,但没有所有未定义的行为,并且添加了垃圾收集器、foreach 循环和其他一些现代细节。它编译为本机代码,因此您可以访问此场景中可能发生的所有常见优化。

整个 C 语言被封装为 D 的一个子集,作为构建语言大部分的较低级别的构建块。这有助于提高可移植性,但也可以防止 D 演变成单一一致的方法。

在 D 中本地运行任何 C 函数的能力开辟了包括系统编程的可能性领域——操作系统、驱动程序等。

D 中有两个常用的类框架。默认是 Phobos,它在设计上相当简陋和简单,允许您创建所需的结构,但提供的大型或复杂的构建块很少。另一个是Tango,它让人联想到 java 类库,包含一个更完整的框架。还有一个项目允许两个库的互操作性。

根据我的经验,D 是一种非常好的编码语言,与 C# 和 java 有很多共同点,并且允许通过 C 甚至程序集互操作访问原始机器。我看到的主要限制是缺乏良好的开发工具支持。那里有一些 IDE 和插件,但都不是很完整,因此同时使用文本编辑器和命令行构建工具可能会更好。

该语言有两个版本,D1 和 D2。目前,框架和编译器更好地支持 D1,并且 D2 添加了一些便利功能,使该语言更易于处理和使用。

更新(2009 年 6 月): 我最近再次研究 D,并认为我应该关注DSource,它现在有许多不同的编译器项目,并且是 Tango 库、各种绑定、几个 GUI 工具包和几个IDE。有些项目在起步阶段就被放弃了,但我相信今天有不少项目正在发展壮大,并且取得了良好的进展。在这个阶段,看起来 D 的成功将取决于开源运动,而不是其祖先。

更新(2012 年 2 月) 虽然自上次编辑以来我对 D 的研究不多,但我会注意到 D2 现在已经发布,并得到了一本好书The D Programming Language的支持。典型的 Alexandrescu,它暴露了模板系统的很多细节,包括模板约束,这使得 D 成为比 C++ 的当前状态更具表现力和类型安全的工具。

除了阅读这本书,我自 2009 年以来就没有接触过 D 语言或其工具和社区,因此我无法评论它们迄今为止的成熟或成长。我知道一小部分专业程序员希望他们被允许在工作中使用该语言,但我们中的大多数人通常都坚持使用 C++ 和其他流行语言,而在 D 应该处于最佳状态的领域。

于 2009-05-26T08:54:19.193 回答
1

在查看语言流行度等问题时,我发现 Tiobe 是一个很好的资源http://www.tiobe.com/content/paperinfo/tpci/index.html

如您所见,D 在前 20 名中。

于 2009-06-12T00:56:01.847 回答