Космічний телескоп James Webb радує людство своїми найдивовижнішими фотографіями як глибокого Всесвіту, так і близьких об’єктів нашої Сонячної системи. Ми вражені якістю отриманих знімків. Але як саме керують телескопом і якими командами оперують інженери та оператори, щоб віддавати накази JWST? Якщо ви програміст, то ви будете здивовані.
Виявилося, що один із найкращих та найсучасніших наукових інструментів людства керується не найзручнішою мовою програмування. Так, для «спілкування» з James Webb NASA використовує JavaScript. Ця мова програмування використовується на 98% веб-сайтів у Інтернеті, але розробники часто скаржаться на неї через доволі специфічну логіку та обмежені можливості. Тим не менш, вона відповідальна за усі отримані телескопом фотографії.
JavaScript та ISIM
Як пояснює документація інтегрованого наукового інструментального модуля (Integrated Science Instrument Module — ISIM) космічного телескопа, програмне забезпечення для нього контролюється «сценаріями, написаними на JavaScript, після отримання відповідної команди». Простіше кажучи, James Webb має вбудований процесор сценаріїв, який отримує інструкції щодо того, що саме робити мовою JavaScript. Причому фактичний код, відповідальний за перетворення сценаріїв JavaScript, здатний запускати та виконувати до 10 завдань одночасно.
На борту JWST уже є пакет написаних сценаріїв для виконання конкретних завдань. Вченим на Землі достатньо просто наказати телескопу виконувати ці завдання. Коли команда відправлена, коди JavaScript інтерпретуються процесором сценаріїв, що потім зв’язується бортовими системами та вмикає необхідні модулі. Наприклад, так можна керувати маневровими двигунами для зміни положення у просторі, регулювати дзеркала чи фокусуватися на космічних об’єктах. По суті, ISIM — це набір інструментів телескопа, за допомогою яких він робить знімки, а скрипти на JavaScript контролюють цей процес. NASA називає ISIM «серцем космічного телескопа Джеймса Вебба».
Застарілі технології
У документі NASA сказано, що розроблена система керування «дає персоналу кращу видимість, контроль і гнучкість над операціями телескопа», дозволяючи їм легко змінювати сценарії, якщо вони вивчають розгалуження та тонкощі роботи з інструментами. Але у обізнаного читача все одно виникне питання: чому саме ця мова? Адже є більш зручні та привабливі варіанти — Python, C#, Rust, Ruby або Go.
Звичайно, JavaScript навряд чи можна назвати сучасною мовою для керування суперсучасним телескопом ціною 10 мільярдів доларів. Але справа в тому, що для написання цих команд використовують інструментарій SDK Nombas ScriptEase 5.00e від 2003 року. Тобто багато читачів цієї новини ще навіть не народилися, коли з’явилося програмне забезпечення для James Webb. Найкумедніше те, що сама Nombas збанкрутувала ще у 2000-х роках.
Втім, є пояснення, чому так сталося. Розробка космічного телескопа розпочалася давно — у 2004 році. На той момент ScriptEase 5 було всього два роки, тому застосування цього інструментарію для відправки команд здавалося цілком природним. Втім, не хвилюйтеся — сам обробник сценаріїв був написаний на потужній і безвідмовній мові програмування C++.
Слабкіший за смартфон
Але це ще не все, чим може здивувати James Webb. Як виявилося, 10-мільярдний інструмент оснащений файловим сховищем об’ємом усього 68 ГБ. Так, твердотільний накопичувач цього телескопа має приблизно таку саму місткість, яка була в оригінальному MacBook Air 2008 року. Він навіть не йде у порівняння з iPhone 13, у якому обсяг пам’яті вже стартує від 128 ГБ. Тобто об’єм вбудованого накопичувача JWST менше, ніж у вашому сучасному ноутбуці чи навіть смартфоні.
Звичайно, нестачу пам’яті відчуває і сам телескоп. У середньому, залежно від завдання та інтенсивності спостережень, весь її обсяг може бути заповнений лише за 2 години, тому JWST знаходиться на постійному зв’язку з фахівцями NASA, які постійно завантажують дані на сервери на Землі.
Раніше ми повідомляли про те, як був розкритий секрет яскравих фотографій James Webb.
За матеріалами The Verge
Тільки найцікавіші новини та факти у нашому Telegram-каналі!
Долучайтеся: https://t.me/ustmagazine