Přeskočit na obsah

D (programovací jazyk): Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
JAnDbot (diskuse | příspěvky)
m náhrada za jednotnou šablonu {{Upravit}}
Úpravy a opravy
Řádek 3: Řádek 3:
| name = Programovací jazyk D
| name = Programovací jazyk D
| logo =
| logo =
| file_ext = <code>.d</code>
| file_ext = <code>.d</code> <!-- .di sem nepatří, je to implementační specifikum -->
| paradigma = [[Multiparadigmatický programovací jazyk|multiparadigmatický]], [[Objektově orientované programování|objektově orientovaný]], [[Imperativní programování|imperativní]], [[Metaprogramování|meta]]
| paradigma = [[Multiparadigmatický programovací jazyk|multiparadigmatický]]: [[Imperativní programování|imperativní]], [[Objektově orientované programování|objektově orientovaný]], [[Funkcionální programování|funkcionální]], [[Generické programování|generický]]
| vznik = [[1999]]
| vznik = 2001<ref>http://www.digitalmars.com/d/1.0/changelog.html</ref>
| autor = [[Walter Bright]]
| vývojář = [[Walter Bright]], [[Andrei Alexandrescu]] (od roku 2006)
| poslední_verze = 2.058 / 1.073<ref>http://www.digitalmars.com/d/1.0/changelog.html</ref><ref>http://dlang.org/changelog.html</ref>
| vývojář =
| datum_poslední_verze = 15.02.2012<ref>http://forum.dlang.org/post/jhfdcu$iht$1@digitalmars.com</ref>
| poslední_verze = 1.063
| datum_poslední_verze = 08.08.2010
| poslední_testovací_verze = 2.057
| datum_poslední_testovací_verze = 13.12.2011
| ovlivněno = [[C (programovací jazyk)|C]], [[C++]], [[C Sharp|C#]], [[Java (programovací jazyk)|Java]], [[Eiffel (programovací jazyk)|Eiffel]], [[Python (programovací jazyk)|Python]], [[Ruby (programovací jazyk)|Ruby]]
| ovlivněno = [[C (programovací jazyk)|C]], [[C++]], [[C Sharp|C#]], [[Java (programovací jazyk)|Java]], [[Eiffel (programovací jazyk)|Eiffel]], [[Python (programovací jazyk)|Python]], [[Ruby (programovací jazyk)|Ruby]]
| ovlivnil =
| ovlivnil = [[MiniD]], [[DScript]], [[Vala]], [[Qore]]
| implementace = DMD, GDC, LDC, D compiler for .net
| implementace = DMD ([[Referenční implementace|referenční implementace]]), GDC, LDC
| web = [http://www.digitalmars.com/d/ digitalmars.com/d]
| web = [http://dlang.org dlang.org]
| licence = [[GPL]]/[[Artistic]] (DMD frontend), [[Licence Boost|Boost]] (standardní knihovna a runtime), Dostupný kód (DMD backend), Plně open-source (LDC a GDC)<ref>http://dlang.org/faq.html</ref>
| licence =
| operační_systém = DMD: [[UN*X]], [[Microsoft Windows|Windows]], [[Mac OS X]]
| operační_systém = DMD: [[Linux]], [[FreeBSD]], [[Microsoft Windows|Windows]], [[Mac OS X]], GDC, LDC: [[UN*X]], [[Microsoft Windows|Windows]], [[Mac OS X]]
| typování = silná, statická
| typování = silná, statická
| datum_poslední_verze =
}}
}}
'''D''' (původně známý jako MARS) je [[Objektově orientované programování|objektově-orientovaný]], [[imperativní programování|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 (programovací jazyk)|Java]], [[C Sharp|C#]] a [[Eiffel (programovací jazyk)|Eiffel]]. Stabilní verze 1.0 byla uvolněna 2. ledna [[2007]].
'''D''' (původně známý jako MARS) je [[Objektově orientované programování|objektově-orientovaný]], [[imperativní programování|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 (programovací jazyk)|Java]], [[C Sharp|C#]] a [[Eiffel (programovací jazyk)|Eiffel]]. Stabilní verze 1.0 byla vydána 2. ledna [[2007]].


== Vlastnosti ==
== Vlastnosti ==
Řádek 55: Řádek 51:
* {{en}} [http://www.digitalmars.com/d/ D Programming Language] - oficiální stránky jazyka '''D'''
* {{en}} [http://www.digitalmars.com/d/ D Programming Language] - oficiální stránky jazyka '''D'''
* {{en}} [http://www.prowiki.org/wiki4d/wiki.cgi wiki4D] - neoficiální wiki zabývající se '''D'''
* {{en}} [http://www.prowiki.org/wiki4d/wiki.cgi wiki4D] - neoficiální wiki zabývající se '''D'''

== Reference ==
<references />


{{Programovací jazyky}}
{{Programovací jazyky}}

Verze z 4. 3. 2012, 16:09

Šablona:Infobox programovací jazyk 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 vydá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 (string) je v D definovaný jako alias na immutable(char)[] (pole neměnitelných znaků).

Smyčka foreach projde postupně všechny řetězce v poli args a vypíše je pomocí funkce writefln (formátovaný výstup s odřádkováním). Jednotlivým argumentům ve foreach je automaticky přiřazen datový typ podle kontextu; i datový typ int, line typ string. i zároveň slouží jako automatický index určující kolikátým prvkem je právě iterováno.

import std.stdio : writefln;   // import writefln()

int main(string[] args){
    foreach(i, line; args)     // automatický index ve foreach
        writefln("args[%d] = '%s'", i, a);

    return 0;
}

Externí odkazy

  • (česky) czwiki4d - stránky jenž si kladou za cíl poskytovat informace o D v českém jazyce
  • (česky) http://d.over.cz/ - informace o D v češtině, stránky jsou delší dobu neudržované a obsahují jen základy

Reference


V tomto článku byl použit překlad textu z článku D (programming language) na anglické Wikipedii.