ЭЖД, 8.01.2007 - 13:50
D 1.00 Автор известного в своё время компилятора Zortech C++ Уолтер Брайт (Walter Bright) объявил о новой версии языка программирования D под индексом 1.00.
D является языком высокого уровня общего назначения, предназначенный для прикладного и системного программирования. Основной фокус языка - объединение мощи и высокой производительности языков С и С++, с уклоном на продуктивность разработчиков, достигающегося на таких современных языках, как Python и Ruby.
Программа на D является строго типизированным и компилируется в нативный код. Также, D является мультипарадигмным языком, в нём объединены следующие стили: императивный (процедурно-ориентированный), объектно-ориентированный, и шаблонное мета-программирование. Синтаксис относится к семейству языка С и очень похож на С++.
На данный момент существуют две реализации: Digital Mars DMD для Win32 и x86 Linux, и реализация GCC D Compiler для нескольких платформ, включая Windows и Mac OS X.
Home_
http://www.digitalmars.com/d/index.htmlD compiler (~4,45 Mb)_
http://ftp.digitalmars.com/dmd.zipD Programming Language for GCC (~978 Kb)_
http://heanet.dl.sour...21-src.tar.bz2
ЭЖД, 14.01.2008 - 9:00
D 2.009 New/Changed Features
Redid const/invariant semantics again.
Extended enums to allow declaration of manifest constants.
Bugs Fixed
Bugzilla 1111: enum value referred to by another value of same enum is considered as enum's base type, not enum type
Bugzilla 1694: Zip::ArchiveMember::name format bug
Bugzilla 1702: ICE when identifier is undefined
Bugzilla 1738: Error on struct without line number
Bugzilla 1742: CTFE fails on some template functions
Bugzilla 1743: interpret.c:1421 assertion failure on CTFE code
Bugzilla 1744: CTFE: crash on assigning void-returning function to variable
Bugzilla 1745: Internal error: ..\ztc\out.c 115
Bugzilla 1749: std.socket not thread-safe due to strerror
Bugzilla 1753: String corruption in recursive CTFE functions
D/63456: Cannot overload on constancy of this
Downloads (~4,8 Mb)_
http://ftp.digitalmars.com/dmd.2.007.zip
ЭЖД, 28.10.2008 - 21:15
DMD 2.020 New/Changed Features
- Improved performance of AAs by rebalancing trees when rehashing.
- immutable now is implemented.
- Bugzilla 2344: Two wrong lookups for array functions
- Bugzilla 2345: Return by reference should be allowed
- Posix is now a predefined identifier when compiling under Linux
- Based on Sean Kelly's hard work, Phobos has been split into two libraries, druntime.lib and phobos.lib. This will enable better integration with Tango. The user source code changes are:
from to
bit bool
_d_OutOfMemory() onOutOfMemoryError()
import std.asserterror; import core.exception;
import std.hiddenfunc; import core.exception;
import std.switcherr; import core.exception;
import std.array; import core.exception;
import std.outofmemory; import core.exception;
import std.gc; import core.memory;
import std.thread; import core.thread;
SwitchError SwitchException
AssertError AssertException
HiddenFuncError HiddenFuncException
ArrayBoundsError ArrayBoundsException
std.gc.fullCollect() GC.collect()
std.gc.*() memory.gc_*()
_moduleUnitTests() import runtime; runModuleUnitTests()
printf add import std.c.stdio;
Changes to thread:- The thread handle isn't exposed to the user. This can always be obtained using the appropriate OS calls from within the thread.
- There is no druntime equivalent for Thread.pause() and Thread.resume(). The closest is thread_suspendAll() and thread_resumeAll()--extern © calls meant for use by the GC.
- Thread.wait() is renamed to Thread.join().
- Sleep functionality is available as Thread.sleep(double), where the parameter represents the number of seconds to sleep (fractional values accepted, obviously).
This is a big change, and expect some problems for a release or two with this.
Bugs Fixed- Bugzilla 1229: Linker fills disk
- Bugzilla 2332: Initializing const or invariant hashes croaks
- Bugzilla 2333: Hash initializer does not work
- Bugzilla 2336: link to nonexistent std_array.html
- Bugzilla 2340: Template properties don't work
- Bugzilla 2341: Double destruction without intervening copy
- Bugzilla 2362: Confusing description of 'aliasing of invariant with mutable'?
- Bugzilla 2363: Spurious () required after function name when used with array in prefix form
- Bugzilla 2366: Const member function syntax is missing
- Bugzilla 2368: Calling a function with an address of another function, then calling a returned object is rejected
- Bugzilla 2373: freebsd select does not accept values > 999,999
- Bugzilla 2376: CTFE fails on array literal of array literals of chars
- Bugzilla 2380: static struct initializer accepted as non static initializer is not documented
- Bugzilla 2383: default arguments can implicitly access private global variables that are not visible at call site
- Bugzilla 2385: spec says all structs are returned via hidden pointer on linux, but it uses registers
- Bugzilla 2390: Missing warning on conversion from int to char
Downloads (~5,8 Mb)_
http://ftp.digitalmars.com/dmd.2.020.zip
ЭЖД, 7.03.2009 - 8:27
DMD 2.026 К новому релизу свободного официального компилятора свободного языка программирования D, разрабатываемого несколькими гуру C++ в свободное время произошли следующие изменения:
- Опубликован исходный код всего компилятора, включая backend. Большая часть под GPL или Artistic License, но часть - Public Domain и DMD License.
- Увеличена точность математических функций на MacOS X и в три раза увеличена их скорость на всех платформах.
- Возможность обьявлять структуры вложенные в функции с доступом к контексту. (Только DMD 2.026)
- Множество исправленных ошибок.
ChangeLog_
http://www.digitalmar....html#new2_026Downloads (~8,7 Mb)_
http://ftp.digitalmars.com/dmd.2.026.zip1.041 (~6,9 Mb)_
http://ftp.digitalmars.com/dmd.1.041.zip
ЭЖД, 20.04.2009 - 20:40
DMD 2.029 Изменения коснулись стандартной библиотеки:
- std.algorithm
- std.array
- std.bitmanip
- std.contracts
- std.conv
- std.date
- std.file
- std.format
- std.functional
- и другие
Также большое внимание было уделено исправлению некоторых ошибок.
Downloads (~9,0 Mb)_
http://ftp.digitalmars.com/dmd.2.029.zip