MLOC.JS 2013 - JavaScript fordítók

Most hétvégén volt idehaza egy nemzetközi JavaScript konferencia, sok-sok résztvevővel. Fő témája az volt, hogy hogyan írjunk JavaScriptet anélkül, hogy JavaScriptet írnánk. Vagyis azok a megoldások, nyelvek, amelyek valamilyen nyelven megírt programot JavaScriptre fordítanak.

A téma kényes és nagyon népszerű mostanában. Van CoffeeScript, amit borzasztóan csípnek a népek, van Dart, amit a Google csíp a legjobban, meg szó volt még olyanról is, hogy mennyivel jobb C#-ban írni webappot, mint JavaScriptben (erről pont hiányoztam, mert workshopon voltam, de állítólag csodás volt).

De kezdjük az elején. Douglas Crockford úr kezdte a konferenciát és rögtön az elején el is mondta, hogy a szintaxis nagyjából mindegy. Itt szerintem pár előadónak el kellett volna gondolkodnia, hogy legalább ne azzal kezdje a prezit, hogy a JS mennyire alkalmatlan valami nagy alkalmazás megírására, mert arról, hogy nem tudnak valamit megcsinálni, nem a nyelv tehet, nem attól függ, hogy hogyan csinál egy új függvényt.

A sok előadás közben már akaratlanul is elgondolkodik az ember azon, hogy mi sarkallja az embereket arra, hogy JavaScriptbe fordítókat és JavaScriptre forduló, azt helyettesítő nyelveket írjanak.
Szerintem a fő oka, hogy mostanság az internet az a hely, ahol pénzt lehet keresni. Ezt felismerték azok is, akik eddig Pythonban vagy Javaban fejlesztettek vagy csak az a kedvenc nyelvük. Nyilván mindenki próbál a legjobban boldogulni és ezért ők is belépnek erre a piacra. Ezen a piacon viszont az adott nyelvekkel nem sokra mennek, mert kizárólag JS fut az összes böngészőben. Ezeknek a fejlesztőknek a JavaScript nagyon furcsának tűnik, se nem típusos ráadásul zárójeleket és pontosvesszőt is írnak benne. Így a szemükben a legjobb megoldásnak az tűnhet, hogy ahelyett, hogy megpróbálnának jól írni JavaScriptet, írnak egy compilert vagy kitalálnak egy új nyelvet, ami sokkal jobban illeszkedik a korábbi gondolkodásmódjukba.
Ez nem is baj, ha így jobban tudnak dolgozni. Rajta hát! Viszont azt mondani, hogy JS-ben nem lehet nagy appokat írni, az csak simán nem igaz.

Eszembe jutott még, hogy ha JS-ben nem lehet ilyet csinálni, akkor az a JavaScript, amit végül kigenerálnak a saját kódjukból, az sem jó?
Akár úgy is felfoghatjuk ezt a hype-ot, hogy a JavaScript annyira klafa egy nyelv, hogy nagyon jól be lehet emelni máshol már létező elképzeléseket, megoldásokat.

Aztán az is lehet, hogy tök hülye vagyok és tényleg ennyire szörnyű az egész JavaScript. Nem vagyok egy géniusz, sem megmondóember, viszont én azért még szeretek JS-ben dolgozni, szerencsére sikerült már azért komolyabb alkalmazást is írni benne, anélkül, hogy összeomlott volna. Emelett tetszik a Dart is, meg az is átjött, hogy az, hogy a JS legfőbb gondja a sebessége, ami legfőképpen a dinamikus típusok tehetnek, amit sima JavaScripttel elég nehéz kierőltetni.

A konferencia amúgy nem volt rossz, bár jobban érdekel maga a JS, mint azok a nyelvek, amiből JS-t lehet generálni. Mindenesetre élveztem és várom a következőt, újabb témával, újabb nagy felismerésekkel.

Hozzászóláshoz a Disqus szolgáltatását használom, korábbi vélemények elovlasásához és új hozzászólás írásához engedélyezd a Disqus-tól származó JavaScripteteket.