![]() |
1
38
我花了几天玩D来看看它是如何与C++和Java相比较的。它被定位为实现C++相同的另一种方式,但没有所有未定义的行为,并且添加了垃圾收集器、Frach循环和其他一些现代细节。它编译为本机代码,这样您就可以访问本场景中可能发生的所有常规优化。 整个C语言被封装为D的一个子集,作为构建大部分语言的底层构建块。这有助于提高可移植性,但也阻止了D进化为单一的一致方法。 在D中本机运行任何C函数的能力打开了包括系统编程(操作系统、驱动程序等)的可能性领域。 在D中有两个常用的类框架。默认值是phobos,它相当简单,设计简单,允许您创建所需的结构,但提供很少的大型或复杂的构建块。另一个是 Tango 这让人想起Java类库并包含了一个更完整的框架。还有一个项目允许两个库的互操作性。 在我的经验中,D是一种很好的编码语言,与C语言和Java有很多共同点,允许通过C甚至汇编互操作访问原始机器。我看到的主要限制是缺乏良好的开发工具支持。这里有一些IDE和插件,但是没有非常完整的,因此您最好同时使用文本编辑器和命令行构建工具。 语言有两个版本,d1和d2。d1目前得到了框架和编译器的更好支持,d2增加了一些方便的功能,使语言更容易处理和使用。 更新(2009年6月): 我最近又在研究D了,我想我应该引起注意。 DSource 它现在有许多不同的编译器项目,并且是探戈库、各种绑定、几个GUI工具包和几个IDE的所在地。有些项目是在婴儿时期就被放弃的,但我相信今天有相当多的项目发展得很好,并且取得了良好的进展。在这个阶段,看起来D的成功将更多地取决于开源运动,而不是其前身。 更新(2012年2月) 自从上次编辑以来,我对D的了解不多,但我会注意到,在一本好书的支持下,D2现在已经过时了。 The D Programming Language . 典型的AlxEnReScCu,它暴露了模板系统的许多细节,包括模板约束,这使得D比C++的当前状态更具表现力和类型安全的工具。 除了阅读这本书之外,我从2009年起就没有接触过D语言或者它的工具和社区,所以我不能评论到它们的成熟和发展。我知道有一小部分专业程序员希望他们能在工作中使用语言,但是我们中的大多数人在D应该是最好的地方通常会被C++和其他流行语言所困扰。 |
![]() |
2
1
当我看到诸如语言普及等事情时,我发现tiobe是一个很好的资源。 http://www.tiobe.com/content/paperinfo/tpci/index.html 如你所见,D在前20名。 |
![]() |
Divyat · D语言的BNF语法形式[闭口] 7 年前 |
![]() |
hiropon · 有没有办法用Dlang同时分配多个变量? 7 年前 |
![]() |
Jonathan Wilbur · 从D中的抽象类运行单元测试? 7 年前 |
![]() |
thinwybk · 如何使用D访问linux字符设备? 7 年前 |
![]() |
user3069488 · 震波。D-未定义标识符(Dlang) 7 年前 |
![]() |
Dmitry Bubnenkov · 错误:实例化模板实例时出错 8 年前 |
![]() |
Matt Smith · 正在转义对局部变量的引用 9 年前 |
![]() |
StillLearningToCode · 将字符串解析为D中的标记 10 年前 |
![]() |
Suliman · D?的TUI(文本用户界面)? 10 年前 |