这里有人曾经有过D programming language的经历吗?
它似乎有许多不错的功能,但它是否会达到目前流行的语言如C ++,Java或C#的流行?
因此值得学习,还是一种前景不明的孤立语言。
答案 0 :(得分: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语言或其工具和社区,因此我无法评论他们迄今为止的成熟或成长。我知道有一小批专业程序员希望他们被允许在工作中使用这种语言,但是我们大多数人在D应该处于最佳状态的领域通常都会使用C ++和其他流行语言。
答案 1 :(得分:1)
在查看语言流行等问题时,我发现Tiobe是一个很好的资源http://www.tiobe.com/content/paperinfo/tpci/index.html
如你所见,D在前20名。