Předpokládám že ten Gore bude nakonec nejrychlejší, kdyby někdo dělal benchmarky, že? Ale vůbec myšlenka na interpret, který vlastně pořád on the fly generuje zdrojáky, je taková zvlášní. Nakonec ale asi proč ne, když to nějak funguje...
Však je to obdoba JIT kompilátora z bytecode, len ten medzijazyk je trochu iný. Keď to nie je problém, tak to nie je problém :)
Jazyk Ruby se bude přejmenovávat na Mastodon, ať je to sjednocené ;-) Nikde jinde Ruby už nevidím. Nebo má ještě nějaké větší nasazení?
31. 1. 2025, 09:23 editováno autorem komentáře
Ruby, ten miluje a obcas si v nom nieco napisem aby som ho nezabudol. Naucil ma objektovo mysliet a za to mu budem vdacny. Je pravda ze v praci pouzivam Python a Fortran.
Je to najlepší jazyk na metaprogramovanie, aký poznám*. Dúfam, že sa dočká novej vlny záujmu.
Aj keď úprimne, nepoužívam ho. Videl som ho tak najviac, keď som písal diplomovku.
*Vyjadruje osobný názor písateľa príspevku
A šlo by použít gore s shebang syntaxí?
Jakože:
#!/usr/bin/gore
... a zde dále pokračovat s go kódem
#!/usr/bin/swift var printMe:String = "koko"; print(printMe);
Zajímavé, toto funguje.
Takže Swift od Apple má REPL s podporou skriptování by default, netřeba nic dalšího. Ale první spuštění teda chvilku trvá, to je fakt.
Jedine co mi pro skriptování v Go chybí, je možnost spoléhat jen na happy-path.
Ideálně něco jako:
x, ! := io.ReadAll(r)
Kdy ! je sink pro errory, něco jako _, ale když není nil, tak by to hodilo panic.
Ale v produkčním kodu bych to vidět nechtěl :D
Proto stále pro takové ty jednorázové skripty tíhnu k Pythonu, kdy to prostě kdyžtak celé vybouchne. Nevýhoda je slabá stdlib, takže člověk nakonec stejně musí delat venv apod.
já bych rád vidět, aby panic v Go vůbec nebylo, protože potom ty zdrojáky vypadají (a hlavně se chovají) fakt divně - stále vidím pokusy o jeho zneužití pro try-catch :-)
Panic pro "skripty" má výhodu v tom, že volá defer chain (v rámci gorutiny), narozdíl od log.Fatal().
Když bez panic() by pak vracela error i operace dělení :D
To je správná připomínka. Obecně u skriptovacích jazyků (to Go není) by se dalo očekávat, že zrovna dělení (FP) bude normálně počítat s nekonečny (ale zase záleží - mě IEEE 754 chování nevadí, spíš mi to vadí pořád odchytávat).
ohledně jazyků vycházejících z Go je už dlouho v mém hledáčku Goplus - https://goplus.org - z go vychází, dotahuje to co go úplně nedotáhlo, ale spíš se snaží být víc Python.
Nativní podpora go knihoven, dá se v něm skriptovat i shebangem :-)
SDF - https://github.com/goplus/gop/blob/main/doc/classfile.md co tam vymysleli, to je pecka.
Jen tedy že je to hodně asijské, dost one man show a používají to evidentně primárně na svojí byznys doménu. Nějakého většího rozšíření se to asi nedočká. Je to už i celkem stará záležitost.