Azok, akiknek eddig kétségei voltak azt illetően, hogy (ahogy többek között a napokban maga John Carmack és Lex Fridman is külön-külön megjegyezték egy beszélgetésük keretében) "a világ JavaScript-en fut", a napokban megkapták ezen állítás végleges és kérlelhetetlen bizonyítékát - méghozzá egy olyan forrásból, amiből egészen biztosan nem számítottak erre. Kiderült ugyanis, hogy a NASA az idén nyáron szolgálatba állt - és már egy rakás fantasztikus képet továbbított - csúcstechnológiás berendezése, a James Webb űrteleszkóp vezérlése is az ismert szkriptnyelvre épül.

JavaScript-ben lehet programozni

Egészen pontosan a JavaScript az a nyelv, amiben az űrteleszkóp csillagászati megfigyeléseinek működését vezérlő magasszintű funkciókat megvalósították, illetve amikben a manuális és automatikus adatgyűjtési feladatokat elküldik neki a Földről. A bolygónktól mintegy 1.5 millió kilométerre, egy ún. halo-pályán a Nap körül keringő berendezés a kapott szkripteket aztán egy saját JavaScript motor segítségével végrehajtja, majd az ezekben neki előírt megfigyelések eredményeit visszaküldi nekünk - új felfedezéseket és a világegyetem működésének jobb megértését lehetővé téve számunkra.

A James Webb űrteleszkóp - itt még fellövése előtt, a NASA egyik bázisánA James Webb űrteleszkóp - itt még fellövése előtt, a NASA egyik bázisán

A NASA egy 23 oldalas áttekintő dokumentumban mutatja be a James Webb vezérlőrendszerének architektúráját, amiben részletesen kitér arra is, hogy a JavaScript milyen szerephez jut ebben. Ezek szerint "a normál műveletek elsődleges parancsforrása a Script Processor Task (SP), amely JavaScript-ben írt szkripteket futtat, ha erre vonatkozó utasítást kap. A szkriptek végrehajtását egy külön feladatként futó JavaScript motor végzi el, ami egyszerre tíz JavaScript [szkript] egymástól független futtatására képes."

A James Webb űrteleszkóp JavaScript-alapú vezérlési architektúrájaA James Webb űrteleszkóp JavaScript-alapú vezérlési architektúrája

"A JavaScript nyelvhez készített bővítések biztosítják az interfészt az SP-hez, ami pedig hozzáférhet az ISIM FSW szolgáltatásokhoz a standard portokon keresztül. Ezen kívül - az egymástól függetlenül futó JavaScript [szkript]ek közötti kommunikáció biztosítására - is léteznek bővítések, amik lehetővé teszik megosztott paraméterek lekérdezését és beállítását", írja a NASA.

Egész könyvtára van a fedélzeten JavaScript szkriptekből

A Webb ugyanakkor nem csak ad-hoc JavaScript szkripteket tud fogadni és futtatni, hanem ha úgy tetszik rendelkezik egy egész könyvtárral is ilyen szkriptekből. Ahogy a dokumentum fogalmaz: a teleszkóp "JavaScriptek egy - ASCII-fájlként tárolt - gyűjteménye alkotja az Operations Scripts System-et (OSS) is [..] ami az automatikus működés képességét biztosítja".

A James Webb által a világegyetemől készített egyik első fantasztikus képA James Webb által a világegyetemől készített egyik első fantasztikus kép

A dokumentum kitér arra is, hogy a NASA mérnökei miért a JavaScript-et választották az összesen mintegy 10 milliárd dollárba kerülő berendezés vezérlési feladatainak leírására, illetve, hogy milyen előnyökkel jár ez számukra. Ezek szerint "annak a ténynek, hogy az OSS JavaScriptben van írva, és a fedélzeten szöveges fájlként van tárolva, az a jelentősége, hogy a kezelőszemélyzet számára nagyobb rálátást, kontrollt és rugalmasságot biztosít a teleszkóp működtetése során".

"Ahogy megtanulják a berendezés [ti. a James Webb teleszkóp] működtetésének hatásait és finomságait, módosíthatják a JavaScripteket, és - egy földi létesítményben történt alapos tesztelés után - egyszerűen lecserélhetik a fedélzeti fájlokat a [működés] megváltoztatásához".

Így könnyebb vezérelni

"A JavaScriptek a felhasználók szakterületének parancsaival és terminológiájával kerülhetnek megírásra", és az azt készítő szakembereknek nem kell tisztában lenniük azzal a rengeteg apró és mélyebb részlettel, amik amúgy a teleszkóp hardverének irányításához a hardver programozási szintjén szükséges. Ez pedig az űrhivatal szerint óriási előrelépést jelent, hiszen szükségtelenné teszi azt, hogy a működtető szakemberek teljes mértékben átlássák az űrteleszkóp minden elemének működését a legalapvetőbb áramköri elemek szintjétől a legmagasabb csillagászati koncepciókig (ami egyébként valószínűleg annak összetettségénél fogva már nem is nagyon lenne lehetséges egy-egy személy számára -a szerk.)

A James Webb vezérlőszoftverének felépítéseA James Webb vezérlőszoftverének felépítése

A dolog mindenesetre jó példája és egyértelmű bizonyítéka annak, hogy a JavaScript akár kritikusnak és tudományos értelemben is "komolynak" tekinthető területeken is sikerrel alkalmazható, mi több, nagyobb létjogosultsággal bírhat és jobb választás lehet, mint a legtöbb - ha ugyan nem mindegyik - másik programozási nyelv.