Curl (programovací jazyk) - Curl (programming language)

Kučera
Curl logo.gif
Paradigmamulti-paradigma: objektově orientovaný, označení
NavrhlSteve Ward, MIT
VývojářCurl, Inc., Sumisho Computer Systems Corp., SCSK Corporation
Poprvé se objevil1998
Stabilní uvolnění
8.0.10 / 30. srpna 2019; Před 14 měsíci (2019-08-30)
Psací disciplínasilný
OSLinux, Operační Systém Mac, Okna
webová stránkawww.kučera.com
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é

Reference

  1. ^ „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.
  2. ^ http://www.curl.com/release/2019/20190325_1.html
  3. ^ 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