Idei geniale care au schimbat omenirea – Programarea computerizată

0
26

Computerul este una dintre marile invenţii revoluţionare ale secolului trecut, şi în fiecare zi se descoperă noi moduri de utilizare a forţei sale uriaşe.

Astăzi considerăm de la sine înțeles tipul de procesare de bază care oferă telefoanelor noastre mobile capacitatea de a găsi în doar câteva secunde un restaurant din apropiere sau de a crea o imagine pe care să o trimitem instantaneu unui prieten din cealaltă parte a lumii.

În prezent sunt construite computere care redau complet cursul oceanelor lumii sau creează avataruri virtuale în care poate că vom reuşi într-o zi să ne descărcăm întreaga personalitate şi care ne vor aduce o ciudată imortalitate electronică.

Computerul combină, de fapt, două tehnologii diferite: calculatoarele şi automatizarea, iar automatizarea este de fapt cea care a reuşit să dea aripi computerului, şi care a dus tehnologia computerului în domenii mult mai largi decât simpla matematică de birou.

Oamenii folosesc calculatoare de mii de ani. Numărătoarea pe degete sau cu pietre, cu beţe, abace şi tot felul de alte obiecte a fost de ajutor la calcule – şi, pe mâini bune, un abac poate efectua adunări complexe mult mai rapid chiar şi decât primele computere.

În secolul al XVII-lea, Blaise Pascal a construit primul calculator mecanic, denumit maşină aritmetică, pentru a-şi ajuta tatăl la efectuarea operaţiilor de calcul, însă acesta putea doar să adune şi să scadă.

În 1671, Gottfried Leibniz a creat Staffelwalze („calculator al paşilor“), pentru ca „oamenii de excepţie [să nu] piardă ore întregi ca nişte sclavi cu operaţii de calcul ce pot fi repartizate în siguranţă oricărei alte persoane dacă ar fi folosite calculatoarele“.

Unele dintre aceste prime dispozitive de calcul au fost extrem de fine şi de ingenioase, însă operaţiile erau limitate şi predispuse la erori, atât pentru că puteau întoarce o citire eronată, cât şi din cauza faptului că era necesară o intervenţie umană la fiecare pas.

Aici şi-a făcut simţită prezenţa geniul de la începutul secolului al XIX-lea, Charles Babbage. Ideea lui Babbage a fost de a crea o maşină de calcul care să funcţioneze complet automatizat, și astfel a eliminat erorile umane. El nu a fost neapărat primul care s-a gândit la acest lucru, însă a fost primul care a încercat să transforme în realitate această idee, cu ajutorul mașinii sale diferenţiale – însă nici aceasta nu a fost nimic mai mult decât un model demonstrativ la scară mică.

Şi automatizarea are o istorie care îi precede cu mult lui Babbage, deoarece mai multe minţi inventive au folosit aranjamente inteligente de roţi, roți dințate, pârghii şi ţevi de apă în scopul de a face ca maşini şi jucării să efectueze activităţi comune fără vreo intervenţie umană. Heron din Alexandria crea dispozitive automate acum 1.800 de ani, în timp ce, în Bagdadul secolului al IX-lea, ingenioşii fraţi Banu Musa creau fântâni uimitoare care îşi schimbau forma la minut, ceasuri cu tot felul de mici trucuri, vase pentru iluzionism, flaute care cântau singure, căni de apă care serveau automat băuturi şi chiar o chelneriţă mecanică în mărime naturală care chiar servea ceai.

Folosind în mod inteligent valve care se închideau şi se deschideau automat într-un sens sau două, dispozitive pentru amânarea acţiunii şi care răspundeau la feedback, precum şi memorii mecanice simple, aceştia au creat sisteme de control automatizate care, în esenţă, nu sunt deloc diferite de dispozitivele automate moderne.

Ei foloseau, în principal, apă sub presiune, nu tehnologia electronică, însă multe dintre principiile de operare sunt identice. Cu toate acestea, un timp îndelungat, automatizarea nu a părut să fie altceva decât un truc, creând jucării inteligente care să-i distreze pe cei bogaţi. Abia în timpul Revoluţiei Industriale a început să fie utilizată la adevăratul ei potenţial, când au fost inventate lucruri precum cartelele perforate pentru războiul de țesut Jacquard, care avea un model de găuri ce direcţiona maşinile de ţesut să ţeasă automat modele complexe, îndeosebi pe mătase.

Aici intervine din nou Babbage. Deşi construcţia maşinii diferenţiale înainta cu întreruperi în anii 1830, el lucra la proiectarea altei maşini, pe care a numit-o mașină analitică. Totuşi, deşi mașina analitică nu a rămas decât o idee scrisă pe hârtie, acesta a fost un pas conceptual uriaş comparativ cu mașina diferenţială. Mașina diferenţială a fost, în esenţă, un calculator sofisticat cu roți dințate şi roţi pentru efectuarea operaţiilor de calcul; mașina analitică a fost o „minte“ programabilă care putea rezolva probleme şi învăţa din soluţie cum să le rezolve mai bine în viitor.

Dacă ar fi ajuns vreodată să fie construită, mașina analitică ar fi combinat pentru prima dată calculul cu automatizarea, aşadar, ar fi creat astfel primul computer programabil. Babbage avea nevoie să găsească un mod de a-şi programa maşina cu instrucţiuni – şi a găsit răspunsul în cartelele perforate ale războiului de țesut Jacquard, în 1836. Cartelele perforate puteau fi folosite nu doar pentru a controla funcţionarea maşinii sale de calcul, ci şi pentru a înregistra permanent rezultatele şi secvenţele de calcul. Cu alte cuvinte, puteau fi o memorie.

Puţine persoane au înţeles semnificaţia ideilor lui Babbage. Astfel, a privit cu o oarecare gratitudine faptul că, în 1843, a stârnit interesul Adei Lovelace, fiica poetului Lord Byron. Ada era un geniu autoproclamat la matematică şi a fost numită primul programator de computer.

Este greu să ne dăm seama în ce măsură contribuţiile ei au fost reale, însă este cert că a înţeles foarte bine semnificaţia „creierului mecanic“ programabil al lui Babbage, precum şi posibilităţile pe care le-ar putea oferi, scriind: „Multe persoane… își imaginează că, deoarece mașina va oferi rezultatele într-o notaţie numerică, în consecinţă, natura proceselor sale trebuie să fie aritmetică şi numerică… Aceasta este o eroare. Mașina îşi poate aranja şi combina cantităţile sale numerice exact ca şi cum acestea ar fi litere sau orice alte simboluri generale.“

Ea a sugerat că, în cele din urmă, ar putea fi utilizată pentru orice, de la a juca şah până la a asculta muzică. Până la urmă, a mai fost necesar încă un secol pentru ca atât ideile lui Babbage, cât şi cele ale Adei Lovelace să fie puse în practică, în ambele cazuri deoarece nu a existat o cerere reală pentru o astfel de maşină, de vreme ce „computerele“ umane puteau fi angajate mult mai ieftin să efectueze calcule de rutină, şi deoarece roțile dințate mecanice şi cartelele perforate pur şi simplu nu aveau viteza şi acurateţea necesare, care au fost obţinute în cele din urmă cu ajutorul tranzistorilor electronici şi al microprocesoarelor care au făcut posibilă apariţia computerului la jumătatea secolului XX.

Ar fi greşit să le acordăm toate meritele doar lui Babbage şi lui Lovelace pentru inventarea computerizării, sau chiar pentru programarea computerizată. Încă dinainte şi mai târziu, au existat numeroase persoane care au contribuit la acest lucru. Însă esenţa ideii centrale de computerizare – ideea din versiunea de cartelă perforată a lui Babbage, amestecul de automatizare şi memorie – se găseşte în întregime aici.

Aceasta este combinația care oferă atât de multe posibilităţi computerului şi produselor sale secundare. Ideea poate fi rezumată sub formă de program de computer, însă acest termen oferă doar un indiciu în ceea ce priveşte domeniul ideii. Desigur, programarea a cunoscut progrese majore de la cartela perforată a lui Babbage şi acum implică atât circuite preimprimate, cât şi o serie de limbaje de programare din ce în ce mai sofisticate, care transmit instrucțiuni unui computer prin intermediul unui cod binar, secvenţe de cifre 0 şi 1, sau de activări şi de dezactivări în cadrul circuitului electronic.

Însă principiile sunt aceleaşi. La un nivel de bază, programarea înseamnă transmiterea de instrucţiuni unei maşini astfel încât să funcționeze singură. Însă, dacă programul cuprinde instrucţiuni ca maşina să reacţioneze la noi intrări în diverse moduri, atunci aceasta poate învăţa şi poate începe să îşi creeze propriile instrucţiuni.

Astfel, adevăratul potenţial al computerului şi al maşinilor automatizate începe să iasă la iveală. În multe sensuri, domeniul unor astfel de programe se limitează doar la imaginaţia programatorului şi la capacităţile materialelor şi sistemelor de operare implicate. Avem deja vehicule robotizate ce pot explora planete şi oceane îndepărtate.

Avem şi internetul, care poate lega instantaneu date de la miliarde de computere din întreaga lume, și care funcţionează ca un creier uriaş. Oamenii de ştiinţă creează nanomaşinării minuscule care să poată fi capabile să transporte medicamente prin vasele de sânge până în locul ţintă din organism, sau să desfăşoare operaţiuni din interiorul corpului. În 2009, proiectanţii au creat un supercomputer reconfigurabil, numit Novo-G, care îşi poate rearanja circuitul intern astfel încât să se potrivească activităţilor efectuate, contrar modelului de „logică fixă“ al computerelor obişnuite.

Acest lucru înseamnă că ar putea fi folosit de la controlul sateliţilor până la a prognoza instantaneu clima lumii, toate la o viteză foarte mare. Unele computere încep să devină atât de experte în recunoaşterea limbajelor, încât este posibil ca traducătorii şi secretarele să rămână într-o zi fără slujbă.

Alte computere sunt programate să scrie muzică sau cărţi, să conducă reţele de cale ferată sau maşini, sau să creeze lumi imaginare atât de convingătoare, încât în curând s-ar putea întâmpla să diferenţiem cu greu realitatea de domeniul virtual. Programele pot crea nu doar computere, ci şi maşinării de tot felul capabile, teoretic, să facă aproape tot ceea ce dorim, iar adevăratul orizont de-abia începe să fie descoperit.

Totuşi, poate că marea limitare este aceea a programatorilor. Bill Bryson a rezumat perfect capcanele în Note dintr-o Ţară Mare (Notes from a Big Country): „Pentru un timp îndelungat, m-a uimit cum ceva atât de scump, atât de avansat ar putea fi atât de inutil. Apoi am înţeles că un computer este o maşină stupidă capabilă să facă lucruri incredibil de inteligente, în timp ce programatorii de computer sunt oameni inteligenţi în stare să facă lucruri incredibil de stupide. Pe scurt, acestea două se potrivesc perfect.“

Şi poate că merită să ne întrebăm ce ne trebuie sau ce ne dorim de fapt de la aceste maşinării stupide.

50 de idei geniale care au schimbat omenirea – John Farndon. Traducere Grall Soft. Editura Litera, 2012