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

Изтрито е съдържание Добавено е съдържание
Заместване на съдържанието на страницата с „ägg“
Премахната редакция 2102066 на 62.13.9.37 (б.)
Ред 1:
{{Информация за програмен език
ägg
|име = D
|лого =
|парадигма = [[полипарадигмален]]
|година = [[1999]]
|дизайнер = Digital Mars
|типизация = строга, статична
|реализации = [http://www.digitalmars.com/d/dcompiler.html DMD], [http://dgcc.sourceforge.net/ GDC]
|диалекти = няма
|повлиян_от = [[C++]], [[Java]], [[C#]], [[Eifel]]
|повлиял =
}}
D е обектно оринтиран език за програмиране създаден от Уолтър Брайт (фирма Digital Mars) през [[1999]]. D започва като подобряване на [[C++]], но постепенно преминава в генерално нов език като приема някои от характеристиките на [[Java]], [[C#]] и [[Eifel]].
 
==Характеристики==
D поддържа повечето съвременни похвати в програмирането като [[проект по договор]], [[юнит тестване]], [[точни модели]], вградено [[автоматично управление на паметта]], динамични масиви, анонимни функции. Голяма част от характеристиките на езиците, които повлияват на D са препроектирани и, според автора, подобрени. D запазва способността на C++ за работа на ниско ниво като също поддържа вграден [[асемблер]] и заменя множественото наследяване с чисти интерфейси и делегати. Отново подобно на С++, D запазва възможността за предефиниране на всички оператори.
 
===Управление на паметта===
Въпреки че има вградено автоматично управление на паметта, D, поддържа не-менажирани обекти, за които паметта се заделя и освобождава ръчно. Обикновена настройка на компилатора е управлението на паметта да бъде изключено.
 
===Съвместимост със други езици===
Подобно на С++, D може без проблем да компилира и изпълнява непроменен С код.
 
D не е съвместим със С++ код и в общия случай директен преход е невъзможен.
 
==Реализация==
D е все още в процес на разработка, така че често се появяват промени, които могат да повлияят на действието на стар код, или даже да попречат на компилацията му. Официалният компилатор, който в момента служи за стандарт, се разработва от Уолтър Брайт и в момента е в [[бета версия]].
 
===Компилатори===
*[http://www.digitalmars.com/d/dcompiler.html DMD]: официалният компилатор на Digital Mars. Лицензиранпод [[Artistic License]] и [[GNU General Public License|GNU GPL]]; на страницата могат да се намерят и [[Изходен код|изходният код]], и изпълними файлове.
*[http://dgcc.sourceforge.net/ GDC]: the GNU D компилатор, част от GNU колекцията компилатори.
 
==Примерен код==
 
===Пример 1===
Тази примерна програма отпечатва входните параметри. Входната точка на програмата на D е <code>main</code>, а <code>args</code> e масивът от низове, представляващ входните параметри. Подобно на C и C++ и тук текстов низ може да се представи като масив от <code>char</code>.
 
import std.stdio; // за writefln()
int main(char[][] args)
{
foreach(int i, char[] a; args)
writefln("args[%d] = '%s'", i, a);
return 0;
}
 
===Пример 2===
Този пример илюстрира асоциативните масиви.
 
import std.stdio; // за writefln()
int main()
{
// Обявяваме асоциативен масив със ключ - текстов низ
// масив от низове като стойност
char[][] [char[]] container;
// Добавяме хора в списъка и им даваме да носят някои предмети
container["Ана"] ~= "шал";
container["Димитър"] ~= "билети";
container["Ана"] ~= "куче";
// Изписваме броят носени предмети за всеки човек в списъка
foreach (char[] person, char[][] items; container)
display_item_count(person, items);
return 0;
}
void display_item_count(char[] person, char[][] items)
{
writefln(person, " носи ", items.length, " предмета");
}
 
==Външни препратки==
*[http://www.digitalmars.com/d/ Странницата на D в Digital Mars]
*[http://www.codemoon.com/dpage.php Библиотека за D за програмиране под Windows]
*[http://www.dsource.org DSource - портал посветен на D] (английски език)
 
{{Езици_за_програмиране}}
 
[[Категория:Езици за програмиране]]
 
[[ca:Llenguatge D]]
[[cs:D (programovací jazyk)]]
[[de:D (Programmiersprache)]]
[[en:D (programming language)]]
[[eo:D (programlingvo)]]
[[es:Lenguaje de programación D]]
[[fi:D (ohjelmointikieli)]]
[[fr:D (langage)]]
[[gl:Linguaxe de programación D]]
[[hu:D programozási nyelv]]
[[id:D (bahasa pemrograman)]]
[[it:D (linguaggio di programmazione)]]
[[ja:D言語]]
[[ko:D (프로그래밍 언어)]]
[[ms:Bahasa pengaturcaraan D]]
[[nl:D (programmeertaal)]]
[[pl:D (język programowania)]]
[[pt:D (linguagem de programação)]]
[[ru:D (язык программирования)]]
[[sk:D (programovací jazyk)]]
[[sv:D (programspråk)]]
[[tr:D programlama dili]]
[[zh:D語言]]