发布于 2016-11-01 16:26:02 | 79 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的D语言教程,程序狗速度看过来!

D语言

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


D是具有类C语法和静态类型的系统编程语言。 它将效率,控制和建模能力与安全性和程序员生产力相结合。

Download D 2.072.0

released Oct 30, 2016

Language Changes

  1. Using the result of a comma expression is deprecated.

  2. Implicit catch statement are deprecated.

  3. Implicit string concatenation is deprecated.

  4. Restrictions of postblits and destructors in union fields have been lifted.

  5. Align attribute can be used with CTFEable expression.

  6. scope is ignored for value parameters without indirections.

Compiler Changes

  1. opApply now conservatively allocates a closure unless marked scope

  2. Add -transition=safe switch to enable additional @safe checks.

  3. Native TLS on OS X 64 bit.

  4. Analysis for aliases in imported modules is deferred.

  5. Special keyword replaced by the source file's absolute file name.

  6. Add -verrors=spec switch.

Library Changes

  1. TypeInfo.init has been deprecated.

  2. New druntime switch --DRT-oncycle allows specifying what to do on cycle detection in modules.

  3. Wrong @trusted attributes have been removed from etc.c.curl functions curl_easy_escape, curl_escape,curl_easy_unescape, and curl_unescape.

  4. Implementation of MurmurHash digest.

  5. Process creation in std.process was sped up on Posix.

  6. algorithm.iteration.cumulativeFold was added.

  7. std.range.padLeft and std.range.padRight were added.

  8. std.regex.regex now supports matching multiple patterns in one go.

  9. std.regex.splitter now supports keeping the pattern matches in the resulting range.

  10. findLocalMin was added to std.numeric.

  11. ptr property and public constructor were added to std.experimental.ndslice.slice.Slice.

  12. toHash method was added to std.experimental.ndslice.slice.Slice.

  13. slice, shape, ndarray, and other utilities were added to std.experimental.ndslice.slice.

  14. as lazy tensor was added to std.experimental.ndslice.slice.

  15. iotaSlice lazy tensor was added to std.experimental.ndslice.selection.

  16. indexSlice lazy tensor was added to std.experimental.ndslice.selection.

  17. repeatSlice lazy tensor was added to std.experimental.ndslice.selection.

  18. mapSlice lazy tensor was added to std.experimental.ndslice.selection.

  19. partial support for Math Index Order was added to std.experimental.ndslice.slice.Slice.

  20. std.algorithm.mutation.swapAt was exposed

  21. std.range.iota's .length` property is fixed to size_t instead of the type being iterated

  22. std.uni.isNumber and std.uni.isPunctuation now use a separate, optimized path for ASCII inputs.

  23. std.uni.isAlphaNum, which is analogous to std.ascii.isAlphaNum was added.

  24. std.regex.regex now supports inline comments with (?#...) syntax.

  25. std.regex had numerous optimization applied, compile-time std.regex.ctRegex should now be generally faster then the run-time version.

  26. std.range.primitives.moveAt accepts only size_t for its index arguments.

  27. std.algorithm.sorting.isStrictlyMonotonic which doesn't allow equal values was added.

  28. std.file.readLink and std.file.symlink have been rangified.

  29. All overloads of std.conv.toImpl has been made private. Please use std.conv.to instead.

  30. std.algorithm.searching.{min,max}Element for ranges have been added.

  31. std.typecons.Ternary was added to represent three valued logic.

  32. Added std.math.quantize, for rounding to the nearest multiple of some number.

  33. Three new traits were added to std.traits.

  34. std.range.generate fixed to be a proper range.

  35. std.numeric no longer uses enforce for verifying contract preconditions.

  36. Final was added to std.experimental.typecons

  37. std.traits.isInnerClass was added to identify nested classes with an accessible outer pointer

  38. std.conv.emplace no longer allows to emplace classes directly nested inside other classes without specifying a suitableouter pointer

  39. A switch for selecting the GC implementation at runtime was added.

  40. A GC implementation allowing manual memory management was added.


完整版更新内容请查看:List of all bug fixes and enhancements in D 2.072.0.



历史版本 :
D语言 2.073.0 发布,增强对 C++ 二进制的兼容性
D语言卷土重来,发布 2.072 版重要更新
D语言 2.069.2 Beta 发布,Bug 修复版本
D语言 2.069.1 发布,Bug 修复版本
D 2.069.0 发布,编译器已经从 C++ 移植为 D 语言
D 2.069.0 Beta 发布,初步支持 Objective-C
编程语言 D 2.068.2 发布
编程语言 D 2.068.1 发布
D语言 2.067 发布
D 语言 2.066 发布,大量改进和 bug 修复
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务