D语言

D语言是由DiGital Mars公司开发的编程语言,起因是为了改进C++。D 语言既有 C 语言的强大威力,又有 PythonRuby 的开发效率。它是一种集垃圾回收、手工内存操作、契约式设计、高级模板技术、内嵌汇编、内置单元测试、Mixin 风格多继承、类 Java 包管理机制、内置同步机制、内建基本运行时信息的系统级编程语言。

D 语言。它是比C++更高级的语言,同时还保持了生成高效代码以及直接访问操作系统API和硬件的能力。D 很适合于编写从中等规模到那些由团队合作完成、数百万行代码规模的各种程序。D 易于学习,为编程者提供了很多便利,并且适用各种野心勃勃的编译器优化技术。
 

D 不是脚本语言,也不是一种解释型语言。它不需要虚拟机。它是给实际的编程者使用的实际的语言,它帮助编程者快速、可靠的完成易于维护、易于理解的代码。

D 是数十年来实现多种语言编译器的经验的积累,是用那些语言构造大型工程的尝试的积累。D 从那些语言(主要是 C++ )那里获得了灵感,并使用经验和现实世界中的实用性来驯服它。

为什么需要D语言

自 从 C 语言被发明以来,软件工业走过了一段很长的路。许多新的概念被加入了 C++ 中,但同时维护了同 C 的向后兼容性,包括兼容了原始设计中的所有的弱点。有很多修正这些弱点的尝试,但是兼容性是最大的困扰。同时,C 和 C++ 都在不断引入新的特性。这些新特性必须被小心的加入到现有的结构中,以免重写旧的代码。最终的结果十分复杂&mDash;— C 标准将近 500 页,C++ 标准大概有 750 页!C++ 实现起来既困难又代价高昂,造成的结果就是各种实现之间都有差别,因此很难写出完全可以移植的 C++ 代码。 
 
C++程序员倾向于使用语言中的孤岛来编程,也就是说,他们倾向于十分精通语言中的某个特性而避免使用其他特性。尽管代码通常在编译器之间是可移植的,但在程序员之间移植就不那么容易了。C++ 的一个长处是它支持很多根本上不同的编程风格——但从长远来看,互相重复和互相冲突的风格会给开发带来妨碍。
 
C++ 在标准库而不是语言核心中实现了可改变大小的数组和字符串拼接等。不在语言核心中实现这些功能造成了几种不太理想的结果。
 
是否能把 C++ 的能力释放、重新设计并重铸到一门简单、正交并实用的语言中呢? 这种语言是否能做到易于正确实现,并使编译器有能力有效地生成高度优化的代码呢?
 
现代编译器技术已经取得了很大的进步,有些原来用作原始编译技术的补充的语言特性已经可以被忽略了(一个这样的例子是 C 语言中的‘register’关键字,一个更为微妙的例子是 C 中的宏预处理程序)。我们可以依赖现代编译器的优化技术而不是使用语言特性(如同原始的编译器所做的那样)来获得可以接受的代码质量。

 

D语言 2.073.0 发布,增强对 C++ 二进制的兼容性
D语言是完全兼容C的二进制,但是官方一直在努力的兼容C++,希望能够早些用上QT5这样强大的工具包。编译器变化New command line option -mscrtlib=libname for Windows MS-COFF object files.The builtin Ddoc theme has been overhauled.标准库变化Added std.traits.Promoted to get the result of scalar type p

发布于 2017-02-03 18:01:57 | 61 次阅读

D语言卷土重来,发布 2.072 版重要更新
D是具有类C语法和静态类型的系统编程语言。 它将效率,控制和建模能力与安全性和程序员生产力相结合。Download D 2.072.0released Oct 30, 2016Language ChangesUsing the result of a comma expression is deprecated.Implicit catch statement are deprecated.Implicit string concatenation is deprecated.Restrictions

发布于 2016-11-01 16:26:02 | 60 次阅读

D语言 2.069.2 Beta 发布,Bug 修复版本
D语言 2.069.2 Beta 发布,,此版本主要是 bug 修复,更新内容:DMD 编译器回退问题Bugzilla 15292: [REG2.068.0] Segmentation fault with self-referencing struct / inout / alias thisBugzilla 15296: [REG2.069] cannot inline simple function that calls use non-inlinable statementsPhobos 回退问题Bugzilla 15293

发布于 2015-11-30 07:54:52 | 59 次阅读

D语言 2.069.1 发布,Bug 修复版本
D语言 2.069.1 发布,此版本修复了更新 Windows 版本时 dmd 安装器绑定的问题,详情请看发行说明。D语言(Dlang)是由Digital Mars公司开发的编程语言,起因是为了改进C++。它与C二进制兼容(不完全),可编译为本地码,有GC也可手动管理内存,语法上借鉴多种语言,模板则 在C++的基础上做了相当大的扩充。D 语言既有 C

发布于 2015-11-15 09:19:10 | 80 次阅读

D 2.069.0 发布,编译器已经从 C++ 移植为 D 语言
编程语言 D 2.069.0 正式发布,此版本主要改进如下:编译器改进DMD 已移植到 D基本支持 Objective-C废弃 -property 切换改进 DMD 的编译库改进The package std.experimental.allocator was added.More phobos functions were rangified.libcurl is now loaded dynamicallyBacktraces now include file name and line number

发布于 2015-11-05 16:02:53 | 128 次阅读

D 2.069.0 Beta 发布,初步支持 Objective-C
编程语言 D 2.069.0 Beta 发布,D语言近期基本一月一更新,此版本主要改进如下:编译器改进DMD 已移植到 D基本支持 Objective-C废弃 -property 切换改进 DMD 的编译库改进The package std.experimental.allocator was added.More phobos functions were rangified.libcurl is now loaded dynamicallyBacktraces now include

发布于 2015-10-26 18:01:03 | 59 次阅读

编程语言 D 2.068.2 发布
编程语言 D 2.068.2 发布,此版本主要是 bug 修复:Bugzilla 15021: [REG2.068.1] linker error with speculative instantiation and -inlineBugzilla 15030: [REG2.068.1] ICE with recursive delegate, -unittest, and std.rangeBugzilla 15044: [REG2.068.0] destroy might leak memory下载:http://dlang.org/download.

发布于 2015-09-26 07:52:25 | 88 次阅读

编程语言 D 2.068.1 发布
编程语言 D 2.068.1 发布,此版本添加了 configure coverage, profile 和 profile=gc reports 功能函数。其他 bug 修复和改进:DMD Compiler regressionsBugzilla 14431: [REG 2.067.0] huge slowdown of compilation speedBugzilla 14621: [REG2.066] ICE: Assertion failure:''http://www.colicoco.com' title='PHP程序员站'>PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  服务