D (език за програмиране)
от Уикипедия, свободната енциклопедия
Парадигма: | полипарадигмален |
---|---|
Излиза през: | 1999 |
Разработен от: | Digital Mars |
Система типове: | строга, статична |
Главни реализации: | DMD, GDC |
Диалекти: | няма |
Повлиян от: | C++, Java, C#, Eifel |
Повлиял: | |
Сайт: | {{{сайт}}} |
D е обектно оринтиран език за програмиране създаден от Уолтър Брайт (фирма Digital Mars) през 1999. D започва като подобряване на C++, но постепенно преминава в генерално нов език като приема някои от характеристиките на Java, C# и Eifel.
Съдържание |
[редактиране] Характеристики
D поддържа повечето съвременни похвати в програмирането съвремени свойства като проект по договор, юнит тестване, точни модели, вградено автоматично управление на паметта, динамични масиви, анонимни функции. Голяма част от характериските на езиците, които повлияват на D са препроектирани и, според автора, подобрени. D запазва способноста на C++ за работа на ниско ниво като също поддържа вградем асемблер и заменя множественото наследяжане с чисти интерфейси и делегати. Отново подобно на С++, D запазва възможността за предефиниране на всички оператори.
[редактиране] Управление на паметта
Въпреки че има вградено автоматично управление на паметта, D, поддържа не-менажирани обекти, за които паметта се заделя и освобождава ръчно. Обикновена настройка на компилатора е управлението на паметта да бъде изключено.
[редактиране] Съвместимост със други езици
Подобно на С++, D може без проблем да компилира и изпълнява непроменен С код.
D не е съвместим със С++ код и в общия случай директен преход е невъзможен.
[редактиране] Реализация
D е все още в процес на разработка, така че често се появяват промени, които могат да повлияят на действието на стар код, или даже да попречат на компилацията му. Официалният компилатор, който в момента служи за стандарт, се разработва от Уолтър Брайт и в момента е в бета версия.
[редактиране] Компилатори
- DMD: официалният компилатор на Digital Mars. Лицензиранпод Artistic License и GNU GPL; на страницата могат да се намерят и изходният код, и изпълними файлове.
- GDC: the GNU D компилатор, част от GNU колекцията компилатори.
[редактиране] Примерен код
[редактиране] Пример 1
Тази примерна програма отпечатва входните параметри. Входната точка на програмата на D е main
, а args
e масивът от низове, представляващ входните параметри. Подобно на C и C++ и тук текстов низ може да се представи като масив от char
.
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, " предмета"); }
[редактиране] Външни препратки
- Странницата на D в Digital Mars
- Библиотека за D за програмиране под Windows
- DSource - портал посветен на D (английски език)
Ada | ALGOL | APL | AspectJ | BASIC | COBOL | C | C++ | C# | D | ColdFusion | Delphi | Eiffel | Forth | FORTRAN | Haskell | Java | JavaScript | Jython | Lisp | Logo | Lua | Mesa | ML | Modula-2 | Oberon | Pascal | Objective-C | Perl | PHP | PL/I | PostScript | Powerbuilder | Prolog | Python | Ruby | Scheme | Smalltalk | Tcl/Tk | Visual Basic