Curiosity rover je sletio na Mars, a većina ljudi koji znaju koliko im megapiksela ima digitalni fotoaparat te koliko im memorije ima pametni telefon (ili barem koji je kapacitet SD kartice koju su ubacili u njega) glasno su se razmetali kako eto oni imaju uređaje koji imaju bolje kamere, više memorije te jači procesor od te mašinerije koju je NASA poslala tamo gore. To je istina, a postoje opravdani razlozi zašto je to tako.
U vrijeme kad je počelo konstruisanje računara za rover (2004.) tehnologija nije bila na današnjem nivou razvoja, a razvoj je zaključen 2008. kada počinju testiranja. Ali ni tada nisu uzimani najnoviji i najjači procesori već oni koji su dovoljno provjereni i pouzdani. NASA nije baš u mogućnosti da pošalje servis ako nešto na Marsu na bude radilo kako treba.
Curiosity ima dva identična računara čija memorija je otporna na radijaciju, a za razliku od obične RAM memorije neće izgubiti svoj sadržaj za slučaj nestanka napajanja. Procesor RAD750 radi na samo 200 MHz. Naizgled malo, ali dovoljno. Rover je projektovan i optimizovan za zadatak koji treba obaviti isto kao i softver koji se pokreće u njegovim računarima. Ono od čega boluju današnje moderne aplikacije na računarima, tabletima i pametnim telefonima je neoptimizovanost. Tokom svih ovih godina se pokazalo da je jednostavnije pojačati hardver nego optimizovati softver. Razvojni alati imaju sve više slojeva od onoga što stvaraju oni koji razvijaju aplikacije i zovu izvornim kodom do onoga što je razumljiv računar i što se zove mašinski jezik.
NASA razvija softver pažljivije nego oni koji razvijaju aplikacije za vaš mobilni telefon. Aplikacije koje koristite na računarima i mobilnim telefonima možda imaju pokoju stranicu specifikacija, neke uopšte nemaju. Veliki broj aplikacija se isporučuje, a da nisu detaljno istestirane. Jedno istraživanje kaže da se kod današnjih aplikacija 80% sredstava namijenjenih za njihov razvoj potroši nakon što se one prvi put pokrenu. Prva verzija obično ne zadovoljava zahtjeve, puna je grešaka, pa nakon nje slijedi ‘peglanje’, a često i ponovno pisanje pojedinih funkcionalnosti od samog početka. Aplikacije koje pišu u Nasi moraju raditi od prve, ništa se ne radi bez specifikacije, pa se događa da se za 6000 linija koda napiše dokumentacija od 2500 stranica.
Grupa koja je razvijala softver za Space Shuttle je otkrila 85% grešaka prije prvog testa i 99.9% prije isporuke. U takvim uslovima, čak i s Nasinim budžetom, ne piše se suvišan kod već baš onoliko koliko treba i ništa više.
Izvorni kod koji pokreće računar rovera na Marsu ima oko 2.5 miliona redova koda. Uglavnom je riječ o kodu u programskom jeziku C koji je pisan po vrlo strogim pravilima (npr. zabranjeno je korišćenje rekurzija). Američki lovac F-22 ima softver od 1.7 miliona redova koda napisanog u programskom jeziku Ada. Za F-35 (Lockheed Martin F-35 Lightning) potrebno je oko 6 miliona redova koda, dok se u slučaju novog Boeinga 787 govori o 8 miliona linija koda.
Kod Windowsa XP spominje se 45 miliona linija koda, a kod Windows 7 procjene idu od 50 do čak 80 miliona redova koda. Kod Debian Linux distribucije (verzija 5.0, na njoj se temelji i popularni Ubuntu, koji Vam svima toplo preporučujem) taj broj ide do 323 miliona redova koda, ali ona sadrži oko 29.000 aplikacija i ne može se samo tako porediti sa Windowsima. Ekvivalent tome bi bilo kad bi kod njih uključili i broj linija koda najčešćih aplikacija. Sam Linux kernel ima preko 15 miliona redova koda.
Ali rekordere po broju linija koda nećete naći u svemiru, među satelitima, avionima nego na putevima. Neki stručnjaci govore da se u automobilima visoke klase može naći i do 100 miliona redova koda. Informatičar iz Mercedesa tvrdi da se u S klasi samo za radio i navigacioni sistem troši 20 miliona redova koda. Drugi opet predviđaju da će se u budućim automobilima nalaziti od 200 do 300 miliona redova koda. Kod današnjih automobila visoke klase od 35-40% čine troškovi softvera i elektronike.
Ja predviđam da će se u budućnosti početi proizvoditi automobili koji neće imati elektroniku u sebi već samo čistu mehaniku. Samo što oni neće biti namijenjeni širokim narodnim masama već će biti čista ezoterija za bogataše.
Ali više ne znači i bolje. Da Nasa radi aplikacije poput drugih i rover bi se hvalio sa sto miliona redova koda, ali vjerovatno bi se izgubio negdje do Marsa jer bi se pojavila kritična greška (bug) ili bi se cijeli sistem jednostavno zaglavio.
Šta nam je čuveni rover do sada obezbjedio?
Panoramska fotografija Marsa vjerovatno je najbolji pogled na Crvenu planetu koji smo dosad mogli imati. Slika od 360 stepeni napravljena je od fotografija NASA-e, a u njoj ćete najbolje uživati ako je prebacite u prikaz preko cijelog ekrana (poželjno što većeg) i jednostavno razgledavate Mars.
Impresivna je i veličina planine Sharp koja se nalazi oko 20 kilometara od rovera Curiosity. Boje na panorami dodatno su naglašene kako bi imali utisak istih boja kao i na Zemlji.
Slike je snimila 34-milimetarska kamera koja se nalazi na središnjem stubu, a u panorami se nalazi oko 130 fotografija nastalih nakon 8. avgust, navodi NASA.
NAPOMENA: Ako želite da promovišete link u ovom članku, javite mi.
Ako vam se ovaj članak dopao, lajkujte FB stranicu DM Spot, Twitter ili LinkedIn i budite obavješteni kad novi članak bude objavljen.