start

czwiki4d

www.digitalmars.com_d_holy.jpg Vítejte na stránkách, které si kladou za cíl poskytovat v češtině informace o programovacím jazyku D.

Tyto stránky jsou postaveny na platformě DokuWiki, takže je může upravovat každý, kdo požádá o tuto pravomoc.

Pokud chcete něco přidat, upravit nebo odebrat, nestyďte se a napište si o založení uživatelského účtu na adresu: bystrousak@kitakitsune.org.

Pokud naleznete jakoukoliv chybu nebo nepřesnost, nebojte se ozvat − jsem vděčný za jakoukoliv zpětnou vazbu.

Na czwiki4d by vás mohly zajímat tyto sekce:

  • Aktuality - aktuality ze světa D.
  • Podrobný přehled vlastností − popis jednotlivých vlastností jazyka (datových typů, podmínek atp.).
  • Kompilátory − krátký popis kompilátorů pro D, odkazy na stažení a ukázka kompilace z příkazové řádky.
  • Řešené problémy − různé návody, ukázky práce s API atp..
  • Zajímavé projekty − popis některých zajímavých projektů v D. Pokud na nějaký narazíte, nebo se jedná o vaše dílo, budeme rádi když ho přidáte.
  • Knihy − knihy o D - recenze, odkazy.

Jazyk D

Programovací jazyk D je kompilovaný systémový jazyk kombinující výkonnost C/C++ s vlastnostmi moderních vysoce produktivních aplikačních jazyků, jakými jsou třeba Java nebo C#. Jeho autor Walter Bright ho navrhl poté, co si při implementaci kompilátoru C++ uvědomil že C++ je zastaralý, komplikovaný1) dinosaurus, který obsahuje spoustu výjimek z pravidel a pro programátora není zrovna jednoduché v něm programovat. C++ mu tenkrát prostě přišel jako zbytečně těžký jazyk, a tak se v roce 1999 rozhodl využít svých zkušeností z psaní kompilátoru k jeho vylepšení.

Ze začátku pouze vylepšoval a zjednodušoval syntaxi, později začal přidávat nové vlastnosti, přičemž za inspiraci mu sloužily jazyky jako Eiffel, Java, C#, Python a Ruby. Od jisté chvíle přestal být jazyk jen vylepšené C++ a stal se z něj samostatný projekt. Vznikl tak vysokoúrovňový jazyk kompilovaný do nativního kódu procesoru, výkonností se blížící C/C++, vhodný pro psaní velkých projektů s miliony řádků zdrojového kódu. Autor ho původně pojmenoval Mars, ale komunita ho raději nazývala D, což mělo po čase za následek jeho přejmenování. Tento jazyk je jednoduchý na naučení a přináší s sebou oproti C/C++ relativně velikou standardní knihovnu, která poskytuje přístup i k pokročilým věcem, jako je třeba komprese souborů a práce s internetem.

Pokud vás D zaujalo, podívejte se na přehled vlastností: Přehled FIXME.

Verze

D je mladý a neustále se vyvíjející jazyk. V současnosti existuje stabilní verze 1, někdy též označovaná jako D1. Tato verze byla vydána v roce 2007.

Pro nové projekty je doporučeno použít D2, což je novější verze, která opravuje chyby a zároveň přináší nové vlastnosti, díky čemuž je částečně nekompatibilní s D1. D2 vyšla oficiálně 12. června 2010 spolu s knihou The D Programming Language2) od Andreie Alexandrescu. Od této chvíle jsou do D1 přidávány pouze opravy chyb a vlastnosti, které nenaruší zpětnou kompatibilitu.

Paměť

Správu paměti provádí garbage collector. Pokud by to bylo v daném případě nevýhodné, je možné použít operátory new a delete, popřípadě funkce malloc a free z knihovny C. Garbage collector může být různě nastavován, vypínán a zapínán podle potřeby, programátor si může vynutit vyčištění paměti atp. 3)

Spojení s C/C++

D nemůže přímo překládat céčkové zdrojové soubory, ale může k sobě linkovat objektové soubory vytvořené v C, popřípadě používat ABI C knihovny. Standardní knihovny C jsou v D přístupné v modulu std.c 4).

C++ je podporováno pouze částečně v D2. D1 pro něj nemá podporu vůbec.

Standardní knihovna - Phobos vs Tango

Se standardní knihovnou je to v D trochu složitější 5) než v ostatních jazycích.

Phobos

Knihovna Phobos je vyvíjena firmou Digital Mars jako součást D, díky čemuž je defaultně v dmd. Jelikož je to „oficiální“ knihovna, tak podporuje jak D1, tak i D2.

Phobos je poněkud více céčkově orientovaná a neobsahuje některé složitější moduly. Na druhou stranu se neustále vyvíjí a pokud někdo vytvoří dobrý projekt, je možné ho do ní přidat.

Rád bych poznamenal, že tyto stránky se věnují převážně phobosu.

Tango

V dobách D1 se lidem zdálo, že Phobos je moc jednoduchá a neposkytuje potřebné API pro přístup k pokročilým funkcím, proto začali vytvářet novou komunitní standardní knihovnu Tango. Vnikla tak nová, nekompatibilní knihovna, která zatím funguje pouze na D1. Tango oproti Phobosu nabízí více pokročilejších objektově orientovaných modulů a podobá se tak spíše standardní knihovně pythonu, nebo javě spíš než C.

V D2 od sebe byly odděleny standardní knihovna a runtime knihovna, takže používání Tanga není nijak složité − stačí jen nainstalovat tango a přepsat jeden konfigurační soubor.

Přípony

D používá pro své zdrojové soubory příponu .d. Pro interface je použita .di, pro dokumentaci .dd.

V závislosti na platformě k tomu ještě přibývají přípony pro objektové soubory (většinou .o), knihovny (.lib/.a) a binárky (.exe, .com, .bin atp..).

Kompilátory

Pro D v současnosti existuje několik kompilátorů:

Tutoriály

Podrobný přehled vlastností

Jelikož jsem o D nenašel téměř žádné informace v češtině, rozhodl jsem se začít sepisovat Podrobný přehled vlastností, což je vlastně takový napůl tutoriál, pokud již umíte programovat v nějakém c-like jazyce.

Hledání informací o D

Pokud hledáte informace o D, asi jste už narazili na to, že hledat jen D nemá moc cenu. Místo toho vám doporučuji zkusit hledat výrazy jako „Programování v D“, „Programovací jazyk D“, „D digital mars“.

Pokud si založíte webové stránky o D, přidejte tam prosím aspoň jednou výraz „Programovací jazyk D“, nebo „programming language D“, „digitalmars“, namísto prostého „D“. Pomůže to vašemu pageranku a usnadní to vyhledávání vaší stránky 6).

Odkazy

České

Anglické

WikiBooks

  • D Programming — tato kniha pokrývá základy, ne všechny vlastnosti jsou dopsány, dost velké kusy chybí.