这里有人有过D编程语言的经验吗?
它似乎有许多不错的功能,但它是否会达到目前普遍使用的语言如C++,Java或C#的流行程度?
所以它值得学习,还是一种前景不明确的孤立语言.
我花了几天时间和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的注意,DSource现在有许多不同的编译器项目,并且是Tango库的主页,各种绑定,几个GUI工具包,以及几个IDE.有些项目在他们的初期被抛弃,但我相信今天有很多项目走强,取得了良好的进展.在这个阶段,看起来非常像D的成功将由开源运动决定远远超过它的祖先.
更新(2012年2月) 虽然自上次编辑以来我没有多看D,但我会注意到D2已经出版了,并得到了一本很棒的书"D编程语言"的支持.典型的Alexandrescu,它暴露了模板系统的许多细节,包括模板约束,这使得D成为比C++当前状态更具表现力和类型安全的工具.
除了阅读这本书之外,自2009年以来我一直没有接触过D语言或其工具和社区,所以我无法对他们迄今为止的成熟或成长发表评论.我知道有一小批专业程序员希望他们被允许在工作中使用这种语言,但我们大多数人在D应该处于最佳状态的领域通常都会使用C++和其他流行语言.