Ciao (programovací jazyk) - Ciao (programming language)
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
![]() | |
Paradigma | Logika, funkční, modulární, objektově orientovaný |
---|---|
Poprvé se objevil | 1984 |
OS | Cross-platform (Unix, Mac OS X, Okna ) |
Licence | GPL, LGPL |
webová stránka | www |
Ovlivněno | |
Prolog |
Čau je univerzální programovací jazyk který podporuje logika, omezení, funkční, vyšší řád, a objektově orientované programování styly. Jeho hlavní konstrukční cíle jsou vysoké expresivní síla, rozšiřitelnost, bezpečnost, spolehlivost a efektivní provedení.[1]
Jazykové charakteristiky
Ciao poskytuje plný Prolog systém (podpůrný ISO -Prolog), deklarativní podmnožiny a rozšíření Prologu, Funkcionální programování (počítaje v to líné hodnocení ), vyššího řádu (s predikčními abstrakcemi), programování omezení, a předměty, stejně jako termíny funkcí (záznamy), vytrvalost, několik pravidel kontroly (vyhledávání na první místo, iterativní prohlubování, ...), konkurence (vlákna / motory), distribuované spuštění (agenti) a paralelní spuštění. Knihovny také podporují programování WWW, zásuvky, externí rozhraní (C, Jáva, TclTk, relační databáze atd.) atd.
Ciao je postaveno na jádře s rozšiřitelným modulárním designem, který umožňuje jak omezení, tak rozšíření jazyka - lze jej považovat za jazyk pro vytváření jazyků. Tato omezení a rozšíření lze aktivovat samostatně na každém programovém modulu, takže ve stejné aplikaci může současně existovat několik rozšíření pro různé moduly.
Vývoj bezpečných a spolehlivých programů
Programování ve velkém v Ciao je podporováno prostřednictvím:
- Robustní systém modulů / objektů. To poskytuje samostatnou / přírůstkovou kompilaci na základě modulů (která je automatická bez použití makefile).
- Integrovaný kontrolní výraz pro deklaraci (volitelných) vlastností programu (specifikace). Patří mezi ně typy, režimy, rozhodnost, selhání, náklady (čas, paměť) atd.
- Automatické odvození a statická / dynamická kontrola těchto tvrzení (včetně testování jednotek).
Ciao má také podporu pro programování v malém: kompilátor je schopen produkovat malé spustitelné soubory (včetně pouze těch, které program používá) a tlumočník podporuje skriptování.
The životní prostředí zahrnuje klasickou nejvyšší úroveň a rozvinuté rozhraní emacs s integrovatelným debuggerem na úrovni zdroje a řadou vizualizačních nástrojů provedení.
Preprocesor Ciao podporuje statické ladění a ověřování, kontrolu a optimalizaci tvrzení prostřednictvím zdrojové transformace programu. Tyto úkoly provádí Ciaopp, distribuované samostatně).
Automatická dokumentace
Ciao zahrnuje lpdoc, automatický generátor dokumentace. Zpracovává programy zdobené tvrzeními (Ciao) a strojově čitelnými komentáři a generuje manuály v mnoha formátech včetně HTML, pdf, texinfo, info, man atd., Stejně jako on-line nápovědu, ascii READMEfiles, položky pro indexy příruček (info , WWW, ...) a udržuje distribuční weby WWW.
Přenositelnost a účinnost
Kompilátor Ciao (který lze spustit mimo shell nejvyšší úrovně) generuje několik forem nezávislých a samostatných spustitelných souborů na architektuře, které běží s rychlostí, efektivitou a velikostí spustitelného souboru, které jsou velmi konkurenceschopné s jinými jazyky na vysoké úrovni obecně a zejména s komerčními a akademické systémy Prolog / CLP. Moduly lze kompilovat do kompaktních bajtkódů nebo zdrojových souborů jazyka C a propojovat staticky, dynamicky nebo automaticky načítat.
Další čtení
- Manuel V. Hermenegildo; et al. "Přehled Ciao a jeho filozofie designu". arXiv:1102.5497.
- Vývojový tým Ciao. „Systém Ciao Home“.
- Enrico Pontelli (ed.). „CIAO Multiparadigm Language and Program Development Environment“.
- Kei Davis, Jörg Striegnitz. „Multiparadigmové programování v objektově orientovaných jazycích: aktuální výzkumná zpráva o workshopu MPOOL'07“. ECOOP'07 Sborník konference z roku 2007 o objektově orientované technologii.
Reference
- ^ „Systém Ciao“. ciao-lang.org. Citováno 2017-08-12.