koodi­joulu­kalenteri 2023

Hou, hou, ja vielä kerran hou, tervetuloa koodijoulukalenteriin. Huomaathan, että avattuasi luukun pääset klikkaamalla syvemmälle luukun syövereihin.

Varoitus: tontut huomaavat, jos kurkit luukkuihin etukäteen. Joulun taika päivittää kalenterin joka aamu kello 05:00:05, mutta voit varmuudeksi toki rynkytellä reloadia!

Kiltteystaso: viaton

Runtime

Antropomorfinen pulskan puoleinen JavaScript-ohjelmointi juoksee juoksumatolla.

Kun tekee webbiä, tulee väkisinkin tunkattua paljon JavaScriptiä. Onhan se ainoa kieli, mitä webbiselaimet suoraan syövät.

Jäsä on siitä mielenkiintoinen kieli, että sen kyvykkyys riippuu paljon siitä, missä ympäristössä sitä ajetaan. Selaimessa on DOM, serverillä tiedostojärjestelmä, ja niin edespäin.

Alunperin JS oli selaimeen tehty ohjelmointilelu, jonka piti poistua takavasemmalle kun Java on valmis korvaamaan sen, mutta eihän siinä käynyt laisinkaan niin kuin oli suunniteltu.

Vuonna 2009 Ryan Dahl-niminen sankari repi sydämen irti Googlen V8-jäsämoottorista ja laittoi pökäleen pyörimään palvelimelle. Näin syntyi Node.js, jolla JavaScriptiä on enemmän tai vähemmän onnellisesti ajeltu siitä lähtien.

Dahl ei ollut kaikilta osin tyytyväinen luomukseensa. Vuonna 2018 hän julkaisi Denon, päivitetyn näkemyksensä samasta aiheesta. Kuluneena vuonna 2023 paljon huomiota sai Bun, uusi JavaScript-ajoympäristö, joka lupaa olla nopea.

Sekä Bunin, Denon että kaikkien muidenkin markkinoille punkevien uusien tunkkien "ongelma" on massiivinen määrä Node.js:lle tehtyä koodia, jota niiden "pitäisi" taaksepäin yhteensopivasti tukea, jos ne haluavat, että massat ja enterprise-hankkeet aikuisten oikeasti siirtyvät käyttämään jotain uutta.