Curl (programovací jazyk) - Curl (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 | multi-paradigma: objektově orientovaný, označení |
---|---|
Navrhl | Steve Ward, MIT |
Vývojář | Curl, Inc., Sumisho Computer Systems Corp., SCSK Corporation |
Poprvé se objevil | 1998 |
Stabilní uvolnění | 8.0.10 / 30. srpna 2019 |
Psací disciplína | silný |
OS | Linux, Operační Systém Mac, Okna |
webová stránka | www |
Dialekty | |
žádný | |
Ovlivněno | |
HTML, JavaScript, Lisp | |
|
Kučera je reflexní objektově orientovaný programovací jazyk pro interaktivní webové aplikace jehož cílem je zajistit hladší přechod mezi formátováním a programováním. Umožňuje vložit složité objekty do jednoduchých dokumentů bez nutnosti přepínání mezi programovacími jazyky nebo vývojovými platformami. Implementace Curl původně sestávala pouze z tlumočníka, ale překladač byl přidán později.
Curl kombinuje textové označení (jako v HTML ), skriptování (jako v JavaScript ) a těžké výpočty (jako v Jáva, C# nebo C ++ ) v jednom jednotném rámci. Používá se v řadě interních podniků, B2B, a B2C aplikace.
Curl programy mohou být kompilovány do Curl appletů, které jsou prohlíženy pomocí Curl RTE, a běhové prostředí s zapojit pro internetové prohlížeče. V současné době je podporován na Microsoft Windows. Linux, a Operační Systém Mac bylo upuštěno 25. března 2019.[1] Curl podporuje "oddělené applety", což je applet nasazený na webu, který běží na ploše uživatele nezávisle na okně prohlížeče stejně jako v Silverlight 3 a Adobe AIR.
SCSK 25. 3. 2019 oznámil, že Curl zastaví nová vydání pro Linux a MacOS, což znamená, že Curl již nebude fungovat na Linuxu a MacOS od verze 8.0.8.[2]
Architektura
Jazyk Curl se pokouší vyřešit dlouhodobý problém: různé stavební bloky, které tvoří jakýkoli moderní webový dokument, nejčastěji vyžadují divoce odlišné způsoby implementace: různé jazyky, různé nástroje, různé rámce, často úplně jiné týmy. Poslední - a často nejtěžší - překážkou bylo přimět všechny tyto bloky ke vzájemné konzistentní komunikaci. Curl se pokouší tyto problémy postavit stranou tím, že poskytuje konzistentní syntaktické a sémantické rozhraní na všech úrovních tvorby webového obsahu: od jednoduchého HTML po komplexní objektově orientované programování.
Curl je značkovací jazyk jako HTML - to znamená, že prostý text je zobrazen jako text; Curl současně zahrnuje objektově orientovaný programovací jazyk, který podporuje vícenásobné dědictví. Curl aplikace nejsou povinny dodržovat oddělení informací, stylu a chování, které HTML, Kaskádové styly (CSS) a JavaScript zavedly, ačkoli tento styl programování lze v Curl použít, pokud je to požadováno.
Zatímco jazyk Curl lze použít jako náhradu HTML za prezentaci formátovaného textu, jeho schopnosti sahají až k schopnostem kompilovaného, silně typovaného objektově orientovaného programovacího jazyka systému.[3] V uživatelském kódu lze rozšířit redakční (na úrovni HTML) i programovací konstrukce Curla. Jazyk je navržen tak, aby aplikace Curl mohly být kompilovány do nativního kódu klientského počítače pomocí kompilátor just-in-time a běžet vysokou rychlostí. Curl applety lze také psát tak, aby po odpojení od sítě běžely offline (občas připojené výpočty ). Ve skutečnosti Curl IDE je aplikace napsaná v Curl.
Syntax
Jednoduchý Curl applet pro HelloWorld může být
{Kučera 7.0, 8.0 applet} {text barva = "modrý", velikost písma = 16 bodů, Ahoj Svět}
Tento kód se spustí, pokud má uživatel nainstalovanou alespoň jednu z Curl verzí 7.0 nebo 8.0.
Curl poskytuje obojí makra a textové procedury kromě anonymních procedur a pojmenovaných metod. Alternativou je použití textové procedury odstavec bylo by:
{odstavec odstavec zleva odsazení = 0,5 palce, {text barva = "Červené", velikost písma = 12 bodů, Ahoj} {text barva = "zelená", velikost písma = 12 bodů, Svět}}
Nedávno tento styl rozvržení přijali "stavitelé" v Báječný jazyk pro JVM, ale je také známý uživatelům CSS nebo Tcl / Tk. Většina funkcí pro webové aplikace, které jsou nyní implementovány pomocí kombinací knihoven JavaScript + HTML + CSS, se již v jazyce Curl nachází, včetně funkcí obvykle spojených s Prototyp + script.aculo.us jako jsou harmonikové tabule.
Curl nastavuje zpětná volání způsobem, který také přijal Groovy:
{CommandButton šířka = 100 bodů, výška = 50 bodů, označení = {centrum {tučně Vyvolává an událost psovod když klikl}}, kontrolní barva = "oranžový", || Připojit the Následující událost psovod na tento CommandButton {na Akce dělat {vyskakovací zpráva titul = „Vaše Zpráva", "Tento je A uživatel zpráva dialog." } }}
Komentáře zvlnění používají svislou čáru v několika variantách. Nejjednodušší je následující:
{text Komentář může být na řádku sám, || Komentář k řádku sám o sobě, nebo může být na konci || Komentář ke stejnému řádku jako kód řádku.}
Curl jako lehký značkovací
Protože Curl poskytuje jak uživatelem definované textové procedury, tak i styly, Curl lze snadno použít jako odlehčené označení specifické pro doménu. Hlavní výhodou oproti značkám v prostém textu HTML je to, že kódování textu lze nastavit na UTF-8 a text zadaný v editoru s podporou Unicode bez jakýchkoli úniků znaků (například JavaScript, Curl je vhodný pro Unicode). Příklad poezie by byl:
{báseň || zabalí celou báseň {sloka || první verš v jakémkoli jazyce} {stanza || další verš zde v jakémkoli jazyce}}
které lze zpočátku implementovat definováním označení básně a sloky jako formátů odstavcového textu. Sloku lze dále vylepšit tak, aby zahrnovala skrytou navigační kotvu pro navigaci po stránce pomocí Curl {destination}, což je samo o sobě textová procedura.
Stejné označení lze použít pro různé výsledky, protože lze upravovat styl textu tak, aby byl viditelný v jednom kontextu a neviditelný v jiném. Curl také umožňuje zahrnutí souborů nejvyšší úrovně, takže zdrojový text ve značkách lze zahrnout do různých nadřazených souborů. Například ve vzdělávání lze vytvořit zdrojový soubor testových otázek a zahrnout jej do verze textu pro studenty i pro učitele.
Viz také
- Homoikonicita: Curl je programovací jazyk i datový formát[Citace je zapotřebí ]
Reference
- ^ „Změny v podporovaných operačních systémech produktů Curl RTE“. SCSK Corporation. Archivováno od originálu na 2019-05-13. Citováno 2020-04-01.
- ^ http://www.curl.com/release/2019/20190325_1.html
- ^ M. Hostetter; D. Kranz; C. osivo; C. Terman; S. Ward. „Curl: Jemný svahový jazyk pro web“. Laboratoř MIT pro informatiku. Archivovány od originál dne 24. 12. 2008. Citováno 2005-12-20.
externí odkazy
- Projekt MIT Curl, výsledky výzkumného projektu Curl na adrese MIT Laboratoř pro informatiku.
- Curl, Inc. a Curl International Corp. vyvinout a distribuovat sadu komerčních produktů, které jsou založeny na výsledcích výzkumu MIT. Ve vlastnictví SCSK Corporation většinová jednotka Sumitomo Corp.
- InfoWorld recenze Curl 6.0 Martin Heller. InfoWorld udělil společnosti Curl ocenění Technologie roku 2008 v soutěži Bohatá internetová aplikace kategorie.