D (programovací jazyk)

Z Multimediaexpo.cz

Broom icon.png Tento článek potřebuje úpravy. Můžete Multimediaexpo.cz pomoci tím, že ho vylepšíte.
Jak by měly články vypadat, popisují stránky Vzhled a styl a Encyklopedický styl.
Broom icon.png

D (původně známý jako MARS) je objektově-orientovaný, imperativní, multi-paradigmatický a systémový programovací jazyk, jehož autorem je Walter Bright z firmy Digital Mars. Vznikl jako předělávka jazyka C++, ale i když je hodně ovlivněn C++, není to totéž. D přestavěl některé rysy C++ a je ovlivněn jazyky jako: Java, C# a Eiffel. Stabilní verze 1.0 byla uvolněna 2. ledna 2007.

Vlastnosti

Návrh D se poučil z problémů, se kterými se potýká praktické použití jazyka C++, spíše než aby se soustředil na hledisko teoretické. Přestože některé koncepty z C/C++ byly zachovány, jiné byly zrušeny a tak není se zdrojovým kódem v C/C++ zpětně kompatibilní. K vlastnostem C++ přidává implementaci design by contract, unit testy, skutečné moduly, garbage collector, first class pole, asociativní pole, dynamické pole, array slicing, vnořené funkce, Inner class (vnořené třídy?), closures, anonymní funkce, vyhodnocení funkcí při kompilaci, lazy evaluation a předělanou syntaxi šablon. D může být stejně jako C++ použit pro nízkoúrovňové programování díky zabudované podpoře inline assembleru. Vícenásobná dědičnost je nahrazena javovskými rozhraními a mixiny. Syntaxe deklarace, příkazů a výrazů je v podstatě stejná jako v C++.

Inline assembler představuje rozdíl mezi D a aplikačními jazyky jako Java a C#. Inline assembler umožňuje programátorovi vkládat kód v assembleru, což je technika používaná systémovými programátory pro přístup k nízkoúrovňovým vlastnostem procesoru. To je zapotřebí při psaní programu který bude pracovat přímo s hardwarem, jako například operační systém a ovladače zařízení.

D má zabudovanou podporu dokumentačních komentářů a podporuje automatické generování dokumentace.

Ukázka kódu

Tento program vytiskne předané parametry. Funkce main je vstupní bod programu, a args je pole řetězců obsahující parametry příkazové řádky. Řetězec v D je pole znaků char[].

import std.stdio;       // for writefln()
int main(char[][] args)
{
	foreach(int i, char[] a; args)
		writefln("args[%d] = '%s'", i, a);
	return 0;
}

Externí odkazy

  • (anglicky) D Programming Language - oficiální stránky jazyka D
  • (anglicky) wiki4D - neoficiální wiki zabývající se D
  • http://d.over.cz/ - informace o D v češtině, stránky jsou delší dobu neudržované a obsahují jen základy