چه کسی فکرش را میکرد که از بین تعداد زیاد زبانهای برنامه نویسی مختلف در دنیا، تلسکوپ فضایی جیمز وب با جاوا اسکریپت کار کند؟ جاوا اسکریپت (زبان برنامه نویسی که توسعه دهندگان وب و کاربران دسکتاپ به یک اندازه آن را دوست دارند) در ارائه تصاویر خیره کنندهای که تلسکوپ فضایی جیمز وب به زمین ارسال میکند، نقش اساسی را ایفا میکند. منظورم این نیست که مثلا وبسایت ناسا، از جاوا اسکریپت استفاده میکند (که البته این کار را میکند). بلکه منظور من این است که تلسکوپ (مسلماً یکی از بهترین دستاوردهای علمی بشریت) تا حد زیادی توسط فایلهای جاوا اسکریپت کنترل میشود. و نکته جالبتر آن این است که این زبان بر اساس یک کیت توسعه نرم افزار از سال 2002 کار میکند.
- جاوا اسکریپت، پایتون و جاوا – محبوب ترین زبان های برنامه نویسی GitHub
- پایتون از جاوا پیشی گرفت – محبوب ترین زبان های برنامه نویسی دنیا
نحوه عملکرد جیمز وب با زبان برنامه نویسی جاوا اسکریپت
بر اساس یک دستنوشته (PDF) برای ماژول ابزار علمی یکپارچه تلسکوپ فضایی جیمز وب اینگونه آورده است که نرم افزار ISIM توسط پردازشگر اسکریپت (SP) کنترل میشود، که اسکریپتهای نوشته شده در جاوا اسکریپت را پس از دریافت فرمان اجرا میکند و میتواند 10 مورد از آنها را همزمان اجرا کند.
نسخه خطی و مقاله (pdf) “JWST اینگونه نوشته است که:
به حداکثر رساندن کارایی و به حداقل رساندن سیستمهای زمینی (نوشته شده توسط ایلانا داشفسکی و ویکی بالزانو از موسسه علمی تلسکوپ فضایی) این فرآیند را با جزئیات کامل توصیف میکند. صفحات JWST مجموعهای از این اسکریپتهای از پیش نوشته شده را برای انجام وظایف خاص دارد و دانشمندان روی زمین میتوانند به آن بگویند که آن کدها را اجرا کند. هنگامی که آنها این کار را انجام میدهند، آن کدهای جاوا اسکریپت توسط برنامهای به نام پردازشگر اسکریپت کامپایل میشوند، که سپس بر اساس آنچه اسکریپت به آن نیاز دارد، به سایر برنامهها و سیستمهایی که نیاز دارد دسترسی پیدا میکند. البته آن را با JWST که یک مرورگر وب اجرا میکند اشتباه نگیرید. جاوا اسکریپت مستقیماً ابزار مادون قرمز میانی را کنترل میکند که بیشتر شبیه زمانی است که به یک مدیر لیستی از وظایف (در این مثال، کدهای جاوا اسکریپت) داده میشود تا انجام دهد.
با این حال، کدهای جاوا اسکریپت هنوز بسیار مهم هستند. ISIM مجموعه ای از ابزارهایی است که در واقع عکسها را از طریق تلسکوپ میگیرند و اسکریپتها این فرآیند را کنترل میکنند. ناسا آن را “قلب تلسکوپ فضایی جیمز وب” مینامد.
البته که مثل همیشه کمی عجیب به نظر میرسد که ناسا از چنین فناوری قدیمی استفاده میکند. به گفته داشفسکی و بالزانو، زبانی که اسکریپتها با آن نوشته میشوند، Nombas ScriptEase 5.00e نامیده میشود. طبق وبسایت Nombas (اکنون از بین رفته)، آخرین بهروزرسانی ScriptEase 5.00e در ژانویه 2003 منتشر شد. بله! تقریباً دو دهه پیش.
این دانش برای سالها در اینترنت و در تاپیکهای هکر نیوز و توییتر پخش میشود، اما هنوز هم تعداد کمی از ما را شگفتزده کرد. در ابتدا، عجیب به نظر میرسد که چنین قطعه حیاتی از تجهیزات علمی توسط یک نسخه بسیار قدیمی از فناوری کنترل شود که سابقه خوبی در گذشته نداشته است.
البته که پس از یک لحظه فکر کردن در مورد آن، سن نرم افزار کمی منطقیتر به نظر میرسد. با اینکه تلسکوپ فضایی جیمز وبدر اواخر سال 2021 پرتاب شد اما این پروژه از سال 1989 در حال توسعه است. زمانی که ساخت تلسکوپ در سال 2004 آغاز شد، ScriptEase 5 شروع به کار کرد. با توجه به اینکه فضاپیماها اغلب از فناوری آزمایش شده و واقعی به جای جدیدترین و بهترین ها استفاده میکنند. چیزهایی که باید در اوایل آغاز پروژه ثبت میشدند، میتوانند با استانداردهای مرسومتر زمانی که روز راهاندازی میشود قدیمی به نظر برسند.
شایان ذکر است که همانند خود پروژه، این اسناد که سیستم جاوا اسکریپت تلسکوپ جیمز وب را توصیف میکنند، بسیار قدیمی هستند. نسخهای که توسط داشفسکی و بالزانو نوشته شده است بدون تاریخ است اما به گفته ResearchGate در سال 2006 منتشر شده است و نسخه خطی ISIM مربوط به سال 2011 است. همیشه این امکان وجود دارد که ناسا بتواند از آن زمان سیستم اسکریپت را تغییر دهد، اما به نظر میرسد این یک تعهد بزرگ است که ناسا به آن وفادار بوده است.
این مقاله همچنین حاوی چند جزئیات بیشتر در مورد 68 گیگابایت SSD تلسکوپ است که میگوید میتواند چیزی بین 58.8 تا 65 گیگابایت از دادههای علمی واقعی را در خود جای دهد. بله، درایو حالت جامد این تلسکوپ تقریباً به همان ظرفیتی است که در مک بوک ایر اصلی 2008 موجود بود.
من احساس میکنم که سوال بزرگ در این مرحله این است که چرا جاوا اسکریپت؟ مطمئناً، احتمالاً اکنون کمی بیشتر از زمانی که مهندسان پروژه فناوری را برای این زبان انتخاب میکردند، نگرانی در مورد زبان وجود دارد.
ناسا در میان برخی از برنامه نویسان به دلیل دستورالعملهای سخت گیرانه برنامه نویسی خود مشهور است؛ پس استفاده از اسکریپت های وب مانند به جای کدهای سنتیتر، چه فایدهای دارد؟
خب، سند ناسا میگوید که این روش انجام کارها به پرسنل عملیات، دید، کنترل و انعطافپذیری بیشتری بر روی عملیات تلسکوپ میدهد و به آنها اجازه میدهد تا به راحتی اسکریپتها را تغییر دهند «در حالی که پیامدها و ظرافتهای کار با ابزارها را میآموزند».
اساساً، ناسا با مجموعهای از فایلها کار میکند که در قالبی تا حدی قابل خواندن برای انسان نوشته شدهاند. برای مثال اگر نیاز به ایجاد تغییراتی داشته باشند، فقط میتوانند یک ویرایشگر متن را باز کنند، مجموعهای از آزمایشها را روی زمین انجام دهند، سپس فایل بهروز شده را به تلسکوپ فضایی جیمز وب ارسال کنند. مطمئناً این روش سادهتر (و در نتیجه احتمال خطا کمتر) نسبت به این است که هر برنامه با کد مخفی نوشته شده باشد که اگر میخواهید تغییراتی ایجاد کنید باید دوباره آن را کامپایل کنید.
توجه داشته باشید که در سند موسسه علمی تلسکوپ فضایی ذکر شده است که خود موتور پردازنده اسکریپت به زبان C++ نوشته شده است. مهم این است که این تلسکوپ فضایی درست کار میکند، مگر نه؟ بدون توجه به اینکه چه نوع کدی برای تولید آنها اجرا شده است، تصاویر باورنکردنی هستند.
دیدگاهتان را بنویسید