Web geliştiricilerinin ve kullanıcılarının benzer şekilde kullandığı programlama dili olan JavaScript’in şikayet etmeyi seviyorum, James Webb Uzay Teleskobu’nun Dünya’ya geri ışınladığı çarpıcı görüntülerin sağlanmasında bir eli vardı. Ve hayır, bunu tuhaf bir şekilde kastetmiyorum, bunun gibi NASA’nın onları barındırdığı web sitesi JavaScript kullanır (kullanır). Demek istediğim, muhtemelen insanlığın en iyi bilimsel başarılarından biri olan gerçek teleskop, büyük ölçüde JavaScript dosyaları tarafından kontrol ediliyor. Oh, ve 2002’den kalma bir yazılım geliştirme kitine dayanıyor.

Göre bir el yazması (PDF) JWST’nin Entegre Bilim Enstrüman Modülü (veya ISIM) için, ISIM yazılımı “Bunu yapmak için bir komut aldıktan sonra JavaScript’te yazılmış komut dosyalarını çalıştıran Komut Dosyası İşlemci Görevi (SP)” tarafından kontrol edilir. Bu JavaScript’leri (NASA’nın ifadesi, benim değil) eylemlere dönüştürmekten sorumlu olan gerçek kod, aynı anda 10 tanesini çalıştırabilir.

Komut dosyası işlemcisi, görevleri gerçekten yürütür, ancak JavaScript’lerden ne yapılması gerektiği konusunda talimatlar alır.
Diyagram: NASA

El yazması ve kağıt (pdf) Uzay Teleskobu Bilim Enstitüsü’nden Ilana Dashevsky ve Vicki Balzano tarafından yazılan “JWST: Verimliliği en üst düzeye çıkarmak ve yer sistemlerini en aza indirmek”, bu süreci ayrıntılı olarak açıklıyor, ancak sizi okuma sayfalarından kurtarmak için biraz fazla basitleştireceğim. JWST, belirli görevleri yapmak için önceden yazılmış bir dizi komut dosyasına sahiptir ve sahadaki bilim adamları ona bu görevleri çalıştırmasını söyleyebilir. Bunu yaptıklarında, bu JavaScript’ler komut dosyası işlemcisi adı verilen bir program tarafından yorumlanacak ve bu program daha sonra komut dosyasının gerektirdiği şeye bağlı olarak ihtiyaç duyduğu diğer uygulamalara ve sistemlere ulaşacaktır. JWST, JavaScript’in Orta Kızılötesi Aracını doğrudan kontrol ettiği bir web tarayıcısı çalıştırmaz – bu daha çok bir yöneticiye yapması gereken bir görev listesi (bu örnekte, JavaScript’ler) verildiğinde ve bunları ekibine devrettiğinde olduğu gibidir.

JavaScript’ler bulmacanın sadece bir parçasıdır, ancak önemli bir tanesidir.
Diyagram: NASA

JavaScript’ler hala çok yine de önemli – ISIM, fotoğrafları teleskopla çeken enstrümanlar topluluğudur ve komut dosyaları bu süreci kontrol eder. NASA onu çağırır “James Webb Uzay Teleskobu’nun kalbi.”

O halde bu kadar eski bir teknolojiyi kullanması biraz tuhaf görünüyor; Dashevsky ve Balzano’ya göre, betiklerin yazıldığı dile Nombas ScriptEase 5.00e denir. Nombas’a göre (şimdi feshedilmiş) İnternet sitesiScriptEase 5.00e’nin en son güncellemesi Ocak 2003’te yayınlandı – evet, neredeyse yirmi yıl önce. JWST’nin en hayati araçlarından bazılarını kontrol eden yazılım çıktığında doğmamış oy verebilecek insanlar var.

Bu bilgi internette köpürüyor Hacker Haberleri ve heyecan yıllardır iş parçacığı, ama yine de burada birkaçımızı şaşırttı Sınır bir kez gerçekten tıkladı. İlk bakışta, böylesine hayati (pahalıdan bahsetmiyorum bile) bir bilimsel ekipmanın, özellikle sağlam olduğu bilinmeyen bir teknolojinin çok eski bir versiyonu tarafından kontrol edilmesi garip görünüyor.

Bir saniye düşündükten sonra, yazılımın yaşı biraz daha mantıklı geliyor – JWST 2021’in sonlarında piyasaya sürülürken, proje 1989’dan beri çalışıyor. Teleskop üzerinde inşaat yapıldığında 2004 yılında başladıScriptEase 5 sadece iki yaşında olabilirdi, 2002 yılında piyasaya sürüldü. Uzay aracının genellikle denenmiş ve gerçek teknoloji tarafından desteklenmektedir en son ve en büyük yerine. JWST gibi projelerin (kelimenin tam anlamıyla) başlamasının ne kadar uzun sürdüğü nedeniyle, erken kilitlenmesi gereken şeyler, lansman günü geldiğinde daha geleneksel standartlara göre güncelliğini yitirmiş gibi görünebilir.

Projenin kendisi gibi, JWST’nin JavaScript sistemini tanımlayan bu belgelerin oldukça eski olduğunu belirtmekte fayda var; Dashevsky ve Balzano tarafından yazılan tarihsizdir ancak 2006’da çıkmıştır. ResearchGate’e göreve ISIM el yazması 2011’den. 2010 yılında yayınlanan bir sürüm, ama okuduğum makale 2011’de yayınlanan makalelerden alıntı yapıyor.) NASA’nın o zamandan beri komut dosyası sistemini değiştirmiş olması her zaman mümkündür, ancak bu, bir yerlerde bahsedilecek oldukça büyük bir girişim gibi görünüyor. Ayrıca, NASA cevap vermezken Verge’nin yorum isteği, bu JWST dokümantasyon sayfası 2017’de yayınlanan “olay güdümlü bilim operasyonlarından” bahseder; bu, belgelerin JavaScript tabanlı sistemi tam olarak nasıl tanımladığıdır.

Bu bilgi tabanı, bu arada, aynı zamanda aşağıdakiler hakkında birkaç ayrıntı daha içerir: teleskopun 68 GB SSD’si58.8 ile 65 gigabayt arasında gerçek bilimsel veri tutabileceğini söylüyor. Bekle, bundan bahsetmeyi unuttum mu? Evet, bu teleskopun katı hal sürücüsü, şu anda mevcut olanla yaklaşık olarak aynı kapasiteye sahiptir. orijinal 2008 MacBook Air.

Neyse, buraya JWST’nin deposu hakkında konuşmak için gelmedik. Bu noktada büyük soru gibi hissediyorum neden Javascript? Elbette, muhtemelen şu anda dil konusunda proje mühendislerinin proje için teknolojiyi seçtiği zamana göre biraz daha fazla endişe var, ancak NASA bazı programcılar arasında ünlüdür. katı programlama yönergeleri — daha geleneksel kodlar yerine web benzeri komut dosyaları kullanmanın amacı nedir?

NASA’nın belgesi, işleri bu şekilde yapmanın “operasyon personeline teleskop operasyonları üzerinde daha fazla görünürlük, kontrol ve esneklik” sağladığını, “enstrümanları çalıştırmanın sonuçlarını ve inceliklerini öğrenirken” senaryoları kolayca değiştirmelerini sağladığını söylüyor. Temel olarak, NASA, insan tarafından okunabilir bir biçimde yazılmış bir grup dosyayla çalışıyor – değişiklik yapmaları gerekiyorsa, sadece bir metin düzenleyici açabilirler, Demet yerde test etme, ardından güncellenmiş dosyayı JWST’ye gönderin. Her programın, değişiklik yapmak istediğinizde yeniden derlemeniz gereken gizli kodla yazılmasından kesinlikle daha kolaydır (ve dolayısıyla muhtemelen daha az hataya açıktır).

Verimliliği En Üst Düzeye Çıkarma belgesinden mimarinin “basitleştirilmiş” bir diyagramı.
Resim: Uzay Teleskobu Bilim Enstitüsü

Hala endişeleniyorsanız, Uzay Teleskobu Bilim Enstitüsü’nün belgesinin, komut dosyası işlemcisinin kendisinin C++ ile yazıldığından bahsettiğini unutmayın. dır-dir iyi, bir uzay aracını programlıyor olsaydınız kullanmak isteyeceğiniz dil türü olarak bilinir. Ve belli ki çalışıyor, değil mi? Resimler inanılmaz, onları oluşturmak için ne tür bir kod çalıştırılırsa çalıştırılsın. Bununla birlikte, eğlenceli bir trivia parçası – bir dahaki sefere modern web’i lanetlemek çok yavaş olduğun ve birinin JavaScript’i uzaya fırlatmasını dilediğin için, NASA’nın aslında bunu yaptığını hatırlayabilirsin.



genel-2