Odpověď na názor

Odpovídáte na názor ke článku Další nový jazyk.

  • 12. 10. 2011 19:49

    Honza77 (neregistrovaný)

    Mrkněte třeba sem:

    https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

    Je řada jazyků, které lze kompilovat do JavaScriptu. Ale vývoj v nich není příliš rozšířený ani u větších projektů, kde nějaká režie na zaučení, nastavení infrastuktury pro překlad apod. tvoří malou část celkového času. Já vidím dva důvody:
    a) špatně se to debuguje (debuguje se ten JavaScriptový generovaný kód, který pokud není hezký, tak se ladí dost špatně ... a i když je hezký, tak to není ono)
    b) výsledek je velký a pomalý

    Jako příklad můžete kouknout třeba na jazyk podobný C#, který používá celkem čitelný a transparentní překlad do JavaScriptu (přitom také má dědičnost, generika, ...):
    http://www.toptensoftware.com/prefix/code

    Jako ideální mi přijde do prohlížečů nacpat univerzální virtuální stroj (něco jako třeba .NET Runtime) s tím, že by prohlížeč požíral bytecode. Překladačů z různých jazyků do tohoto bytecodu by jistě vzniklo plno (stejně jako u překladačů do .NETu (IL) nebo do JavaScriptu). Vývoj jazyků by nebyl omezen na standardizaci, implementaci v prohlížečích a aktualizace prohlížečů na koncových zařízení. A tedy by šel jistě rychle kupředu.

    Webové programování by se tak výrazně přiblížilo možnostem desktopovému programování - různé jazyky a nástroje, rychlost, ..

    Ladění by pak mohlo být řešení buď doplňky do prohlížečů nebo externí debuggerem, který by se napojil na (ideálně trochu standardizované) rozhraní prohlížeče (resp. virtuálního stroje).

    Tento princip není nic nového a myslím, že pro web by se vyloženě hodil. Ano - pro menší aplikace je to zesložitění (ale tam JavaScript není problém). Pro větší (a postupem času na webu jsou a budou čím dál tím více komplexnější aplikace) mi pak tohle přijde ideální řešení.

    DART je sice celkem pěkný jazyk, ale rozhodně ne vyzrálý. A se změnami bude problém, protože prohlížeče jej nebudou podporovat. Překlad do JavaScriptu není dobré řešení (viz výše). Také je otázka, zda se DART vůbec podaří protlačit do všech prohlížečů. Není to úplně systémová věc a Google asi nemá chuť procházet nějakou širokou diskusí a standardizací (z časových důvodů při každé změně). Programovací jazyk je do značné míry subjektivní věc - někomu se líbí to, někomu něco jiného. Také na řešení určitých problémů se hodí více něco jiného než na řešení jiných problémů. Virtuálního stroj je mnohem méně subjektivní věc a tedy dosáhnout nějakou ovšeobecnou shodu mi přijde mnohem snazší.