D (език за програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
Редакция без резюме
Ред 11:
|повлиял =
}}
D'''„D“''' е обектно ориeнтиранориентиран език за програмиране създаден от Уолтър Брайт (фирма Digital Mars) през [[1999]]. D започва като подобряване на [[C++]], но постепенно преминава в генерално нов език като приема някои от характеристиките на [[Java]], [[C Sharp|C#]] и [[Eifel]].
 
== Характеристики ==
D поддържа повечето съвременни похвати в програмирането като [[проект по договор]], [[юнит тестване]], [[точни модели]], вградено [[автоматично управление на паметта]], динамични масиви, анонимни функции. Голяма част от характеристиките на езиците, които повлияват на D са препроектирани и, според автора, подобрени. D запазва способността на C++ за работа на ниско ниво като също поддържа вграден [[асемблер]] и заменя множественото наследяване с чисти интерфейси и делегати. Отново подобно на С++, D запазва възможността за предефиниране на всички оператори.
 
=== Управление на паметта ===
Въпреки че има вградено автоматично управление на паметта, D, поддържа не-менажирани обекти, за които паметта се заделя и освобождава ръчно. Обикновена настройка на компилатора е управлението на паметта да бъде изключено.
 
=== Съвместимост с други езици ===
Подобно на С++, D може без проблем да компилира и изпълнява непроменен С код.
 
Ред 25:
 
== Реализация ==
D е все още в процес на разработка, така че често се появяват промени, които могат да повлияят на действието на стар код, или даже да попречат на компилацията му. Официалният компилатор, който служи за стандарт, се разработва от Уолтър Брайт и eе в [[бета версия]].
 
=== Компилатори ===
*[http://www.digitalmars.com/d/dcompiler.html DMD]: официалният компилатор на Digital Mars. Лицензиран под [[Artistic License]] и [[GNU General Public License|GNU GPL]]; на страницата могат да се намерят и [[Изходен код|изходният код]], и изпълними файлове.
*[http://dgcc.sourceforge.net/ GDC]: ''"the„the GNU D Compiler"Compiler“'', част от GNU колекцията компилатори.
 
== Примерен код ==
 
=== Пример 1 ===
Тази примерна програма отпечатва входните параметри. Входната точка на програмата на D е <code>main</code>, а <code>args</code> e масивът от низове, представляващ входните параметри. Подобно на C и C++ и тук текстов низ може да се представи като масив от <code>char</code>.
 
import std.stdio; // за writefln()
int main(char[][] args)
{
Line 47 ⟶ 46:
Този пример илюстрира асоциативните масиви.
 
import std.stdio; // за writefln()
 
int main()
{
// Обявяваме асоциативен масив със ключ - – текстов низ
// масив от низове като стойност
char[][] [char[]] container;
 
// Добавяме хора в списъка и им даваме да носят някои предмети
container["Ана"„Ана“] ~= "шал";
container["Димитър"„Димитър“] ~= "билети";
container["Ана"„Ана“] ~= "куче";
 
// Изписваме броят носени предмети за всеки човек в списъка
Line 72 ⟶ 71:
 
== Външни препратки ==
* [http://www.digitalmars.com/d/ Странницата на D в Digital Mars]
* [http://www.codemoon.com/dpage.php Библиотека за D за програмиране под Windows]
* [http://www.dsource.org DSource - – портал посветен на D] (английски език)
 
 
[[Категория:Езици за програмиране]]