Le JWST tourne en C++ !?
@31:40
he JWST science operations will be driven by ASCII
(instead of binary command blocks) on-board scripts,
written in a customized version of JavaScript
Oui, j'ai également haussé les sourcils d'étonnement lorsque j'ai lu la ref à javascript.
Rien ne me choque moi, je suis un scientifique ! - I. Jones
C'est surtout affreusement sale
Ben pourquoi ? Une version customisée de JS, et puis ça dépend de quelle version. ES6 c'est pas si mal par exemple.
Et ça reste mieux que du php
Nan mais c'est sûrement un langage maison pour envoyer des commandes c'est tout. C'est hyper banal.
Ils précisent que c'est ascii parce que j'imagine que pour Voyager et autre ils se permettaient pas de faire un truc inefficace, là c'est la simplicité
Ca serait comme dire que "grep" c'est du C mais qu'appeler grep en ligne de commande c'est nul
Et faut pas oublier que v8 est développé par google et est très solide. Javascript n'est plus le petit language de codeur du dimanche de l'epoque Internet Explorer.
C'est quand même assez marquant qu'ils aient retenu js pour faire leur langage de commande.
Ils auraient pû choisir n'importe quel autre langage/interpréteur, mais c'est js qui a été retenu.
Pour un projet démarré en 1996 (javascript avait 1 an), un design qui a été arrêté en 2010, et un assemblage finalisé en 2016, les choix techniques - quels qu'ils soient - ont sûrement été mûris et testés depuis longtemps.
https://en.wikipedia.org/wiki/James_...pe#Development
Je n'ai pas vu de logo "Optimisé pour IE6" dessus.
Mouerf, en science, de ce que j'ai vu, les choix technique c'est souvent l'inertie : quelqu'un prends une décision à un instant t, tout le monde itère dessus pendant 30 ans sans tout refaire parce que c'est un château de carte fragile et que ce serait trop galère.
Beaucoup de librairies mathématiques utilisées en science sont encore en Fortran, et ce n'est pas (que) parce que le Fortran est adapté pour faire ça, c'est juste que c'est des trucs qui itèrent depuis l'époque des cartes perforées et qu'absolument personne n'a envie de réécrire.
Idem pour le C89, quasi en situation de monopole dans bien des logiciels développés et utilisés en labo.
Je suis pas certains qu'ils avaient prévu de mettre du js dedans en 96 ni même en 2010...
https://www.stsci.edu/~idash/pub/das...gso.pdf#page=5
http://brent-noorda.com/nombas/us/index.htmThe JWST science operations will be driven by ASCII (instead of binary command blocks) on-board scripts, written in a customized version of JavaScript... called Nombas ScriptEase 5.00e.
https://news.ycombinator.com/item?id=29489600
2004 apparemment.
Edit : c'est la date des dernières specs du langage.
Pour le coup ça m'étonne comme choix de techno en 2004. Le site décalque la retine au passage.
L'inertie c'est quelquechose en effet, après le Fortran occupe quand même une niche assez unique : langage facile d'accès pour le calcul scientifique + compilateurs qui optimisent très bien.
L'évolution c'est surtout vers le python encore plus facile d'accès pour des calculs à petite échelle ou dont la perf peut être mise dans les mains d'une lib extérieure.
Pour le gros HPC, ça pousse un peu vers le C++, pas tellement pour la perf native mais pour l'adaptabilité quand on passe sur des archis matérielles fondamentalement différentes mais ça reste assez rare comme initiative sur les codes avec beaucoup d'utilisateurs.
Certains commentaires sur ycombinator expriment bien le fond de ma pensée:
I'd like to understand how such a pinnacle of human design and engineering came to depend on a technology that is, putting it politely, certainly not.
Oui c'est pour moi un choix étrange de partir sur du js en 2004, surtout en partant avec un produit d'une petite boîte qui fait des sites web extra-moches, saveur home-page 96.
Vous auriez utilisé quoi comme langage de script ? Et qu'est-ce qu'il ferait mieux que le javascript ?
En lisant l'histoire de nombas (http://brent-noorda.com/nombas/histo...yOfNombas.html) l'histoire devient beaucoup plus clair.
En résumé, parce que c'est un peu long à lire, Nombas (pour No MBA avec comme premier slogan "not ties no lies" ) est la boîte d'un mec (Brent Noorda) assez visionnaire mais qui n'a jamais vraiment réussis à imposer son produit: un langage embarqué appellé Cmm (C--) : langage de script basé sur C débarassé des trucs complexes (pointeurs et mémoire) et livré avec un SDK (sorte de Java avant l'heure) conçu au début des années 90.
Mais l'idée n'a pas marché assez pour s'imposer malgré des avantages reconnus par ses utilisateurs. Quand netscape est arrivé avec son navigateur il a commencé à le bricoler pour y embarquer son langage de script. Il a fait une démo à Netscape qui n'a pas acheté de license, mais quelques mois plus tards Netscape sort Javascript.
A partir de là les mentalités ont changées: les dev ont commencésà accepter de faire du script et d'avoir du "write once run anywhere" (combo java et javascript de 95 à 2000) et il a décidé de laisser tomber son Cmm pour basculer sur le nouveau standard: javascript.
(version très courte de son histoire)
Les possibilités offertes par le SDK de Nombas ont l'air assez puissantes, et parfois en avance sur leur temps (sûrement ce qui a intéressé l'équipe du James Webb Space Telescope).
Par contre en cherchant sur Google il n'y a pas beaucoup de traces de Nombas ou du Cmm...
Dernière modification par William Vaurien ; 12/01/2022 à 14h11.
Sur Hacker News, j'ai vu plus de détails sur les langages considérés.
The language selection was JS, Python 1.5 (1.5, not 2, not 3, 1.5, released in 1999) and a custom script language.
NASA decided for JS because Python used more memory.Malheureusement, l'article source n'est pas lisible.2. An attempt was made to port each scripting engine to the VxWorks real-time operating system on a flight-like Power PC by embedding it into a payload flight software application. TCL was dropped from the study when it could not be successfully ported to VxWorks. JavaScript, Python and G-script were successfully ported and a series of tests with prototype flight software applications were run in order to rank them against the success criteria.
https://www.scribd.com/document/4073...rd-JavaScripts
J'aurais pensé à LUA qui existe depuis longtemps et est plutôt bien taillé pour faire de l'embarqué aussi... C'est étrange qu"il n'ai pas été dans la short-list pour la sélection.
Il y avait longtemps que je n'avais pas lu un blog dereal programmerenginurse.
Lequel en l'occurrence n'est pas non plus n'importe qui :
http://www.edm2.com/index.php/ScriptEase
https://onedrive.live.com/?authkey=%...143369&o=OneUpBrent Noorda (son of Ray Noorda, Novell CEO)
Encore la confirmation s'il en était besoin qu'il ne suffit pas d'avoir le bon environnement, les bonnes idées, et les meilleurs produits. Il faut aussi savoir les vendre au bon moment. :v2000: :betamax:NASA (consulting)-Nov 2010-presentConsult, test, and developflight software for upcoming James Webb Space TelescopeAchievement award recipient
[...]
Shiva, Addax, Lotus, Verbex Voice, Tops/Sun, Cetus, Novell & NASA • 1981 -1992Wrote many programs using many languages: (Assembly (6502, 808x, 360, 390), Basic, Fortran, Pascal, C, C++ and more) on many platforms (DOS, UNIX, VMS, RSX, PDP, OS/2)Implemented full fast/small network stack from interrupts to tcp/udp/ip to ftp/telnet/vt100Created rapid-prototyping DOS GUI environment to immensely reduce development costs· developed trained speech-recognition products using dsp, fft, research, and cheap parts
Je voudrais bien voir l'univers parallèle dans lequel Netscape a acheté son produit plutôt que de dev à l'arrache javascript... Ce doit être une terre parfaite sans GWT ni transpilation ni cravatte (et peut être même sans Python ni Java) !
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Dernière modification par Nilsou ; 12/01/2022 à 20h16.
Il avait un bonne tête sympa à l'époque de son combat contre Java... Le combat contre les gars encravatés est malheureusement souvent voué à l'échec...
Il n'a toujours pas de MBA ni de cravate, même pour son mariage.
Rien ne dit qu'il n'ait pas son abri anti-atomique en Nouvelle-Zélande, mais consultant chez papa Novell et la NASA depuis 1981, avec son code parti dans l'espace sur un projet emblématique à 10 miyards développé pendant 30 ans ET infirmier diplômé, volontaire dans des centres de vaccination COVID, niveau coolitude ça se pose là.
:the Dude:Nurse / Software Engineer
Une petite vidéo /promo sur les api d’IA de Microsoft et openAI :
Y’a un truc génial mais aussi pourri dans lis IA, c’est leurs non-prédictibilités.