Diskuze: FYI: Facebook uviedol programovací jazyk Hack

Člen

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Skvely jazyk, je vidiet, preco je Facebook jednotkou na trhu. Inak o vyvoji tohoto jazyka viem uz dlhsiu dobu, kedze HHVM pouzivam pri viacerych projektoch, kazdopadne nemyslim, ze by sa na tomto fore uplatnil, neviem o nikom inom z tohoto fora, co by sa zaujimal o vyvoj pod HHVM, pripadne o Big Data aplikacie.
Zajímavý počin, jen moc nechápu, proč dali návratový typ za dvojtečku alá Pascal, když všechny C-like jazyky mají typ před funkcí.
Nejspíš proto, že spadli do problémů, když se snažili pracovat s funkcemi jako first-class citizens, viz
function foo(): (function(string): string) {
Bez pointerů máš asi docela problém s jednoznačností gramatiky a zvlášť u tak zpraseného jazyka jako je PHP.
Do zdrojáku si přeci můžu napsat cokoli, před kompilací se to nahradí jako syntactic sugar na něco, co jazyk už zpracuje.
Jenže on to syntaktický cukr není, ale má to být plnohodnotná nadstavba jazyka. Lambda výrazy a generika totiž nejsou syntaktický cukr, logika za nimi je o dost komplexnější. Zejména proto, že typová inference v jazyce typu PHP dostává nový rozměr, když se tam snažíš vtlačit generické typy.
Takové C podle definice není ani LR(k) jazyk a jeho kompilátor je hodně složitý. Java a C# musely být omezeny, aby je bylo možné vyjádřit jako LR gramatiky, Pascal je dokonce LL(1), pokud si to dobře pamatuju. A taková maličkost jako slovo 'function' a návratový typ na konci umí hodně zjednodušit celý proces - a hlavně zrychlit, což nejspíš bude klíčové.
Oukej, nebývá mi než ti věřit, ostatně jako vždycky
Zobrazeno 7 zpráv z 7.