JavaScript 在關鍵太空任務中發揮作用的訊息引發了科技界的熱烈討論,特別是關於網路技術在太空探索中的應用。雖然 James Webb 空間望遠鏡使用 JavaScript 的新聞引起了廣泛關注,但這似乎並不是太空技術中的孤例。
JavaScript 在太空中的意外角色
James Webb 空間望遠鏡(JWST)使用 Nombas ScriptEase 5.00e(一個2002年的 JavaScript 引擎)來控制其整合科學儀器模組(ISIM)。特別有趣的是,這個相同的 JavaScript 引擎也曾在 BeOS NetPositive 中使用,顯示了其在不同平臺上的通用性。
SpaceX Dragon:載人航天中的網路技術
在這一趨勢之外,載人航天器 SpaceX Dragon 也在其系統中使用了 Chromium 以及 HTML、CSS 和 JavaScript。這揭示了網路技術在關鍵太空應用中被廣泛採用的趨勢。
安全性爭議
JavaScript 在太空應用中的使用引發了關於安全性和可靠性的激烈爭論。雖然一些人認為 C++ 由於其靜態型別而本質上更安全,但開發社群中的其他人則認為 JavaScript 在除錯方面可能更實用。支援 JavaScript 的主要論點是它能夠在崩潰時提供清晰的堆疊跟蹤,與可能多年都無法檢測到的細微 C++ 錯誤相比,這可能使問題的識別和修復更容易。
為什麼選擇 JavaScript 用於太空?
NASA 為 JWST 選擇 JavaScript 主要基於以下實際考慮:
- 對望遠鏡操作有更大的可見性和控制力
- 修改指令碼的靈活性
- 人類可讀格式,便於維護
- 簡化的測試和更新程式
混合方案
為了平衡安全性和實用性,這些太空系統通常採用混合方案。就 JWST 而言,雖然指令碼是用 JavaScript 編寫的,但指令碼處理器本身是用 C++ 實現的,結合了兩種技術的優勢。這種架構允許輕鬆修改指令碼,同時保持穩健的核心功能。
開源問題
一些開發者表示有興趣看到這些太空級軟體開源,這可能會使太空工業和更廣泛的軟體開發社群受益。然而,目前這些系統仍然是專有的。
網路技術在太空探索中的這種獨特應用表明,看似面向消費者的技術如何能夠被改造用於高度專業化的科學用途,這挑戰了我們對關鍵系統適用技術的固有認知。