韋伯太空望遠鏡拍攝的美麗圖像,背後有 JavaScript 參與運作

作者 | 發布日期 2022 年 08 月 21 日 16:04 | 分類 航太科技 , 軟體、系統 line share follow us in feedly line share
韋伯太空望遠鏡拍攝的美麗圖像,背後有 JavaScript 參與運作


JavaScript 是網頁構成的三巨頭,也是許多開發人員抱怨的一種編程語言,但人類史上最優秀的科學成就之一:韋伯太空望遠鏡,發送許多美麗照片回地球的背後推手很大程度由 JavaScript 技術控制。

JavaScript 是一種最初用於網頁的程式語言,能做出網站特效、動畫等幾乎所有事(也不是所有事,但只要短短幾行 JavaScript 程式碼就能實現許多網頁多媒體互動),以網頁組成來說,Html 是骨頭,決定網頁的輪廓與體型;CSS 是皮膚、外表,決定網頁呈現的樣貌;JavaScript 則是肌肉,決定網頁如何運作。

現在,我們還知道了 JavaScript 是詹姆斯‧韋伯太空望遠鏡(JWST)生成漂亮照片的幕後推手。

ISIM(Integrated Science Instrument Module)模組是韋伯望遠鏡相機儀器的集合體,NASA 將之稱為「詹姆斯韋伯太空望遠鏡的心臟」,然而它卻採用了陳舊的 JavaScript 編程語言控制工作過程。

簡單來說,JWST 有一堆用於執行特定任務時預先編寫的腳本,地面控制中心團隊可以指示望遠鏡何時運行這些任務,並經由腳本控制器(Script Processor,SP)翻譯 JavaScript 代碼,並連繫其他執行命令所需的系統。ISIM 模組軟體由 SP 控制,在收到命令後便能運行用 JavaScript 編寫的腳本。

或者說,JavaScript 不是太空望遠鏡的核心操作系統,更像是一名接受上頭指令、然後將內容委託給旗下團隊的經理。

此外,JWST 的飛行軟體雖然用 C++ 編寫,但具體操作腳本也是用自定義 JavaScript 編寫,即飛行軟體用來操作探測器與科學儀器,而 JavaScript 腳本用於執行所有特定操作和遙測請求。

根據太空望遠鏡科學研究所科學家 Ilana Dashevsky、Vicki Balzano 說法,韋伯太空望遠鏡 ISIM 模組之所以由 JavaScript 編程語言,第一原因是腳本使用 Nombas ScriptEase 5.00e 編寫,Nombas 已停運,而該軟體上次更新已是約 20 年前的 2003 年 1 月。

其次,JavaScript 能讓工程師在操作望遠鏡時更方便除錯與更新腳本內容,如果要修改腳本,可以先在地面進行多次測試再發送給韋伯太空望遠鏡,比起用晦澀難懂的 C++ 編寫,修改 JavaScript 肯定更容易也更不容易出錯。

(首圖來源:NASA