Category Archives: Evolutie

Inainte de bit a fost Alan Turing

Am citit recent in cartea “Istoria codurilor secrete” de Laurent Joffrin cateva informatii inedite despre Alan Turing, un britanic ce a trait in prima jumatate a secolului 20 (1912-1954) si care este considerat parintele informaticii moderne.

Dumnealui era un excentric din toate punctele de vedere, asa cum aproape toate geniile sunt: era pasionat de matematica de alergat si de povesti pentru copii. Cand spun pasionat, I mean it.

La pubertate nu mai avea de la cine sa invete matematica, la 16 ani frunzarea teoriile relativitatii ale lui Einstein, la 18 ani este acceptat la Cambridge, unde pe durata anilor ’30 isi concepe teoriile despre algoritmi si masini programabile care sa execute operatii simple cu viteze fantastice.

In legatura cu alergatul, uneori maratonul nu-i era de ajuns. A ramas celebra o situatie cand, cadru universitar fiind, a alergat 80 de kilometri pana la o conferinta stiintifica unde a ajuns intr-o stare nu tocmai buna pentru un speech. Nu prea risipea banii pe bilete de tren.

Povestile pentru copii il fascinau – nu rata niciodata emisiunea zilnica de la radio –  si se spune ca avea o slabiciune deosebita pentru desenul animat “Alba ca Zapada” (proaspat aparut pe ecrane pe vremea lui)  pe care l-a vazut la un moment dat de 40 de ori la rand (aia da testare).

Contributia lui la razboi se face cu pixul, sau mai exact cu mintea. Germanii inventasera masina de criptare “Enigma” pe care ei o considerau infailibila, ceea ce si era atata timp cat nu cunosteai cheia de criptare. Cheia, ca si in algoritmii moderni de criptografie se schimba pe baza unui protocol cunoscut de partile implicate in comunicatie (germanii in cazul de fata).

Englezii aveau de asemenea niste masini care generau potentiale chei valide pentru decriptare. Armate uriase de operatori lucrau la decodificari pe baza incercarii diverselor chei, insa rezultatele erau contraproductive, de multe ori mesajul decriptat nemaifiind util datorita invechirii informatiei, el referindu-se la evenimente deja intimplate. Turing da “reteta” de construire a unei masini automate care sa permita verificarea aproape in timp real a validitatii cheilor, realizand astfel decriptarea mesajelor si castigarea razboiului de catre Aliati.

In 1943 Turing a construit Colossus – primul calculator electronic digital pentru decriptarea codurilor germane, iar in 1945-1946 contribuie la prototipul masinii de calcul numite Automatic Computing Engine (ACE), realizata fizic cativa ani mai tarziu.

Pe langa excentricitatile mentionate mai sus dl. Turing mai avea una: era homosexual, de la care i s-a si tras caderea in dizgratie si indirect moartea intr-o Anglie atat de conservatoare ca cea din anii ’50. Cand e deconspirat (1952) este eliminat din toate functiile pe care le ocupa, e anchetat dar nu e condamnat, fiind obligat sa urmeze un tratament hormonal.

Cazut in dizgratie si ocolit de toti se sinucide in 1954. Nici un oficial britanic nu participa la inmormantare, cu toate ca prin munca lui criptanalitica avut un rol important in castigarea razboiului. Reabilitarea lui incepe dupa anul 1970.

Ideile lui au fost unice si cu adevarat revolutionare in acea perioada, punerea lor in practica fiind catalizata si de criticitatea razboiului. Daca nu ar fi fost acest domn si tot acest context de imprejurari favorabile nasterii primelor masini de calcul automate, probabil ca s-ar fi intarziat cativa ani buni evolutia acestei stiinte. Poate inca 10-15 ani s-ar fi mai programat la lumina lumanarii.

Cam ciudat parinte are stiinta asta a informaticii, totusi nu-i asa? Ce sa mai zicem de copiii ei 😉

Mai multe detalii despre Alan Turing gasiti evident pe Wikipedia 😉

Doua lumi diferite si o mare oportunitate

Din punctul de vedere al industriei software schimbarea regimului din 1989 a venit exact la momentul oportun.

Prima lume: industria IT in occident

in 1990 occidentul (si mai ales Statele Unite) avea o experienta de 30-40 de de ani in industria IT si pe baza standardelor si concurentei realizase la acea vreme PC-uri relativ performante, bazate pe microprocesorul Intel 80386 (i486 tocmai se inventase). De asemenea, multe sistemele de operare si toate limbajele de programare au plecat din universitati de mare calibru si au fost preluate de multe companii private, in versiuni comerciale imbunatatite.

Anii 60-70 au reprezentat perioada mainframeurilor – care costau enorm si aveau putere de calcul foarte limitata si pe care putine institutii si le permiteau.

Daca pana la acel moment IT-ul era si in occident o curiozitate care se desfasura in  universitati si in cateva companii de hardware/software, aparitia PC-ului in la inceputul anilor ’80 a revolutionat pur si simplu industria calculatoarelor si indirect dezvoltarea de software. Astfel, numai in decursul anului 1982 numarul de PC-uri creste de la 1 milion al 5.5 milioane. Revolutia a fost sustinuta si de dezvoltarea fata precedent a industriei semiconductorilor marcata in ’78 de apartitia procesorului Intel 8086, urmat in ’82 de 80286 si in ’86 de 80386. Momente cheie:  august 1981 – aparitia IBM personal PC /AT ca standard de compatibilitate si 1984 – apartitia Apple Macintosh – primul PC cu mouse si interfata grafica complexa.

In tabelul de mai jos, preluat de pe etforecasts.com vedem ca cea mai spectaculoasa crestere procentuala a numarului de calculatoare, respectiv de utilizatori s-a produs in perioada 1980-1990.

Table 1.1   US and Worldwide Computers-in-Use Growth
1980 1985 1990 1995 2000 2005 2010 2015 2020
USA:
Computers-in-Use (#M) 3.1 22.2 51.3 90.2 184 244 306 380 465-485
5-year Growth (%) 60.2 48.6 18.3 11.9 15.3 5.8 4.6 4.4 4.1-5.0
Computers-in-Use Share (%) 64.8 61.6 48.9 37.9 33.3 25.6 20.2 16.3 13-14
Computers-in-Use/1,000 People (#) 13.4 93.0 205 338 652 823 987 1,168 1,365-1,420
Worldwide:
Worldwide Computers-in-Use (#M) 4.8 36.0 105 238 552 950 1,514 2,324 2,995-3,120
5-year Growth (%) 64.4 49.6 23.9 17.8 18.3 11.5 9.8 8.9 5.2-6.1
WW Computers-in-Use/1,000 People (#) 1.07 7.40 20.0 41.8 90.4 147 239 321 390-410

Evolutia software-ului a fost la fel de spectaculoasa: Dupa aparitia UNIX si a primelor limbaje de porgramare FORTRAN, LISP, COBOL in anii ’50, la inceputul anilor ’70, odata cu aparitia ARPANET se pun bazele protocoalelor de comunicatie peste viitorul Internet, precum si a tool-urilor de conectare (TCP, TCP/IP, telnet, ftp, email, Ethernet). Tot la inceputul anilor ’70 apar si limbajele de programare “moderne”: C, Pascal, urmate de limbajele de programare obiectuala: C++, ADA. Sistemele de operare cu interfata grafica pentru PC-uri Windows si Mac OS se dezvolta si ele in acord cu cererea din noua piata, calculatorul incetand sa mai fie un tool al initiatilor.

La sfarsitul anilor ’80 ca industia IT occidentala era la sfarsitului copilariei.

A doua lume: industria IT in Romania comunista

Pe de alta parte, industria locala era incremenita in proiecte interne, de productie de minicalculatoare si PC-uri, cu aplicatii rudimentare din zona economica. La noi, domeniul IT era reprezentat in universitati, in special institulele politehnice si ITC (Institutele de tehnica de calcul). De asemenea, marile intreprinderi comuniste aveau centre de tehnica de calcul unde in general erau instalate si folosite calculatoare de productie romaneasca. Actorii principali din universitati si din centrele de calcul au jucat un rol important dupa 90 in dezvoltarea industiei.

Productia interna de calculatoare a fabricat sistemele tip IRIS, Felix, Coral (in anii 70-80). Utilizarea lor era de uz intern si se facea de catre aceeiasi actori ai domeniului IT mentionati mai sus: centrele de calcul ale marilor fabrici comuniste, respectiv universitatile. La sfarsitul anilor 80, inceputul anilor 90, s-a dezvoltat si piata de calculatoare personale romanesti, prin seria HC. Probabil ca unii isi mai amintesc sistemele HC 91 sau HC 95, cu programe pe memorie externe, de tip caseta audio.

Oportunitatea

Pana acum am prezentat doua lumi total diferite, nu-i asa? Ce le-a facut sa devina una singura dupa aproximativ 10-15 ani? Exact perioada in care s-au produs revolutiile din ’89 in Europa de est.

Daca schimbarea regimului comunist (si deschiderea spre piata IT occidentala) ar fi survenit cativa ani mai tarziu, industria locala ar fi pierdut momentul, ramanand incremenita in redescoperirea rotii, in timp ce in occident se pe langa revolutia hardware avea loc si o dezvoltare fara precedent a sistemelor de operare pentru PC-uri, a aplicatiilor software, dar mai ales a limbajelor de programare si a Internetului.

Diferentele ar fi devenit astfel foarte mari, atat tehnologic cat si business si conceptual incat at fi fost greu daca nu imposibil de recuperat. Romania urma patternul Coreei de Nord (izolare totala / interzicere a oricarei tehnologii occidentale) nu al Chinei. Schimbarea de regim in Romania a permis asimilarea in timp relativ scurt scurt a rezultatelor unei muncii de 40 de ani a occidentului, la scurt timp dupa ce aceasta incepea sa-si arate roadele.

Pe de alta parte, daca schimbarea ar fi survenit cativa ani mai devreme, realizarile tehnologice nu ar fi avut asa mare impact in constiinta tinerilor de 12-18 ani la acea varsta, si probabil ca nu s-ar fi declansat interesul crescut pentru acest domeniu. Doresc sa amintesc deschiderea extraordinara spre domeniul IT care se facea la inceputul anilor ’90 in licee, crearea primelor retele locale, in general cu sisteme donate de unitati de invatamant omologe din occident.

Acest moment a facilitat dezvoltarea interesului pentru acest domeniul IT in randul tinerilor de scoala si liceu si crearea unei culturi a programarii software. Combinata cu background-ul matematic bun asigurat de sistemul de invatamant preuniversitar si de gandirea logica, specifica europenilor,  au creat in Romania un excelent profil de dezvoltator de software, care a contribuit la dobandirea renumelui de buni programatori de mai tarziu.