why modern software prevent mankind to reach the Moon again
Original story inspiration is "Software of Apollo 11" on my favorite news site.
In general our software is now written in "so high level" and so "heavily assembling/packing" ways - with so "smart garbage collectors and automatic operations" such that nobody has control anymore on what happens really on the processor or memory.
Not only we don't go to the Moon anymore - but our planes or trains are crashing at a significant speed. Of course excuses don't explicitly point you to their bug tracking system - but we all know this is because of the new "so smart so heavy software" generated automatically and running in virtual machines and automatically tested by tools that nobody understand.
Now you cannot even go to a restaurant in the suburb of Bucharest to eat something - because the guys will tell you "we're sorry but we have a problem with software - we can't serve you".
Keywords relevant from the above mentioned article: MIT, 2K of memory, 1-MHz clock speed, NASA, tested, polished, simulated, and refined the code, IBM, 'assembled' to instruction binary, (during mission) most software couldn't be changed, used a low-level assembly language, etc ... :-)
Besides the initial slashdot story - please don't forget to read also the linux.com "How They Built it: The Software of Apollo 11" story and the downloadsquad "How powerful was the Apollo 11 computer?" story.
ps: my article is a pamphlet, I'm deliberately exagerating to make a few points ... but still C/* will never die :-P



4 Comments:
De fapt, stii foarte bine ca scrierea de cod in asamblare duce la mult mai multe bug-uri. Chiar si la NASA.
Bug-urile mari si multe din limbaje de nivel inalt nu au de-a face cu calitatea limbajului, ci cu calitatea programatorului - tot schepsisu' cu limbajele de nivel inalt e ca poti "accesa" programatori mai putin educati/mai putin "inteligenti", care pot sa faca si ei ceva acolo, macar prin modificarea unor exemple. Sigur, iese cod ceva mai prost poate, da' costa de 10 ori mai putin... pt. o pagina de web la un "small business", merita. Ca nu tre' sa suporta 10milioane de vizitatori unici. Si daca nu se randeaza corect in Opera.... asta e. You get the point.
Ce vreau sa zic: "smart garbage collectors" fac sistemele mai "reliable", nu mai putin reliable. Si exista garbage collection for realtime systems (in principiu, asa sunt toate GC-urile incrementale), in special daca ai constrangeri soft realtime. Daca ai constrangeri hard realtime... e mai complicat, tre' sa faci niste calcule de "worst-case", da' se poate, in continuare.
O sa comentez raspunsurile tale detaliat pe liniute cand ne mai intalnim ... sper cat mai curand. O sa-ti povestesc ce stiu eu despre QNX de prin 1998 si poate facem schimb de informatii. Abia astept!!
Dar am ras cu lacrimi la partea cu "de 10 ori mai ieftin la pagini incompatibile in Opera si cu low traffic". Ce ai vrut sa zici de fapt ? Esti sigur ca nu era mai mult de fapt ? Eu zic sa te mai gandesti :-)
Ah "vv" - si inca ceva .. partea mea favorita - era sa uit. La partea unde am enumerat cuvintele cheie din articol - vezi ca inainte sa spun despre partea cu low-level-programming-language ... erau in ordinea asta: tested, polished, simulated, and refined the code
"Prietenii stiu de ce" ;-)
:-D
'aide bre, ce nu intelegi? Daca lumea trebuia neaparat sa inteleaga arhitectura unui procesor superscalar si algoritmul de planificare a lu' Tomasulo pentru a putea scrie (in asamblare, evident) logica oricarei aplicatii, atunci nu ai fi avut web-ul de azi. Ca nu erau destui care sa scrie web applications. Sure, unii din aia care scriu web apps le fac cu curu', merg doar pe IE6 samd.... da' totusi, overall chestiile functioneaza de bine de rau. SI functioneaza tocmai din motive de "higher-level programming languages", "smart garbage collection" si "automatic operations".
Si da, tu ai fi costat poate de 10 ori mai mult - ca bancile tot ar fi avut nevoie de aplicatii bancare, si ar fi fost printre putinii care si-ar fi chiar permis sa plateasca banu'. Faptul ca acu' site-ul de web a lu' ING e facut in Java il face sa fie "accesibil" pentru niste programatori ceva mai ieftini, si implicit scade pretul overall pt. orice produs IT.
QNX exista si azi, da' nu toata lumea are nevoie de sisteme real-time, ba dimpotriva... unul din motivele principale pt. care Windows "merge prost" e ca are prea multe feature-uri de real-time (pe de alta parte, e si unul din motivele principale pt. care jocurile merg mai bine/sunt mai usor de facut pe Windows decat pe Linux).
Ce vreau sa zic e ca o fi fost QNX meserias, da' nu e "silver bullet". O fi fost softul NASA meserias pt. vremea aia, da' nu scaleaza pe calculatoare care in loc de 2k de memorie au 2Gb.
Da, Lemmings, Saboteur si alte jocuri pt. HC erau niste bijuterii dpdv programare (incredibil ce se putea face in 64K, nu? Azi abia-ti iese un hello world). Si totusi, nu ai fi avut niciodata pe HC World Of Warcraft, Grand Theft Auto, samd.
Ce vreau sa zic e "hai sa nu devenim nostalgici asa, aiurea". Ca intra in categoria "maica, tineretul din ziua de azi e varza, se duce societatea pe rapa"... sigur ti-e familiar tipul de discurs, daca nu ai uitat cum era in liceu :). Nimic nu impiedica pe NASA sa faca soft-ul la fel ca pe vremea aia... numai ca nu merita, nici macar pt ei.
Post a Comment
Links to this post:
Create a Link
<< Home