Твой софтовый форум > Software > SoftoRooM > *NIX-SOFT > *NIX-SOFT -> Разработка

D 2.036

,

язык высокого уровня общего назначения

Дата публикации: 07.11.2009 - 21:00
ЭЖД
user posted image

ph34r.gif 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.html
D compiler (~4,45 Mb)_http://ftp.digitalmars.com/dmd.zip
D Programming Language for GCC (~978 Kb)_http://heanet.dl.sour...21-src.tar.bz2
ЭЖД
ph34r.gif 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
ЭЖД
ph34r.gif 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
ЭЖД
ph34r.gif DMD 2.026

К новому релизу свободного официального компилятора свободного языка программирования D, разрабатываемого несколькими гуру C++ в свободное время произошли следующие изменения:
  • Опубликован исходный код всего компилятора, включая backend. Большая часть под GPL или Artistic License, но часть - Public Domain и DMD License.
  • Увеличена точность математических функций на MacOS X и в три раза увеличена их скорость на всех платформах.
  • Возможность обьявлять структуры вложенные в функции с доступом к контексту. (Только DMD 2.026)
  • Множество исправленных ошибок.

ChangeLog_http://www.digitalmar....html#new2_026
Downloads (~8,7 Mb)_http://ftp.digitalmars.com/dmd.2.026.zip
1.041 (~6,9 Mb)_http://ftp.digitalmars.com/dmd.1.041.zip
ЭЖД
ph34r.gif 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
ЭЖД
ph34r.gif DMD 2.036

New/Changed Features
  • Static arrays are now passed by value to functions rather than by reference
  • std.algorithm: Add hasLength requirement to topN; implemented topN for two non-adjacent ranges; added replaceTop function to BinaryHeap; changed BinaryHeap.top to return ref.
  • std.ctype: Add pure to isalnum, isalpha, iscntrl, isdigit, islower, ispunct, isspace, isxdigit, isgraph, isprint, isascii, toupper.
  • std.date: Implementation change and unittest for isLeapYear and daysInYear. Made both pure as well.
  • std.encoding: Added function count().
  • std.md5: Added explicit pass-by-ref for fixed-size buffers.
  • std.numeric: Added gcd.
  • std.random: Added static checks for the parameters of the linear congruential generator.
  • std.range: Reinstated some unittests; fixed Cycle to work with the new fixed-size arrays.
  • std.typecons: Added alias 'expand' for Tuple.field.
  • std:utf: Added count function and changed the encode function to take fixed-size array by reference.
  • Bugzilla 3446: Rename float.min to float.min_normal

Downloads (~9,3 Mb)_http://ftp.digitalmars.com/dmd.2.036.zip


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: D 2.036
SoftoRooM © 2004-2024