Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Comentarii și interviuri - PC Magazine Romania, Ianuarie 2004


A existat o vreme în care copiii erau pasionați de locomotive și vapoare, mai târziu au fost pasionați de mașini, avioane și nave cosmice.


Irina Athanasiu
Profesor la Facultatea de Automatică și Calculatoare, Universitatea "Politehnica" București.

Ce înseamnă să fii programator?

Cu mai mulți ani în urmă să fii programator bun însemna să scrii programe care funcționează utilizând trucuri care reduc timpul de execuție și micșorează spațiul de memorie utilizat. Timpul programatorilor era ieftin iar resursele de calcul scumpe. Era vremea când algoritmii de sortare erau încă subiect de comunicări științifice iar învățăceii în ale programării aflau cum să scoată expresiile constante în afara ciclurilor, cum să reutilizeze spațiul ocupat de variabile etc. Limbajul C utiliza cuvântul cheie register, indicând compilatorului să mențină variabila respectivă într-un registru pentru a reduce timpul de execuție. În aceeași perioadă instrumentul principal pentru testarea și depanarea programelor era instrucțiunea printf iar limbajul de asamblare era frecvent utilizat pentru îmbunătățirea performanțelor programelor. Inventivitatea era poate cea mai importantă calitate a unui programator. Erau multe de făcut cu resurse puține. Programarea era o activitate undeva la limita dintre artă și meșteșug. Programatorii formau o castă cu un număr mic de membri. Existau job-uri suficiente pentru ei dar nu în exces. Nu existau preocupări pentru dezvoltarea unor instrumente care să îmbunătățească productivitatea programatorilor sau să le facă munca mai ușoară (job security). Cine să aibă nevoie de ele, cine să plătească pentru ele?

În timp, pe bază de cerere și ofertă, pentru că utilizarea tehnicii de calcul a ajuns să se extindă mult și mai ales foarte rapid a crescut costul timpului programatorilor. Și asta în timp ce costul resurselor de calcul a scăzut. Soluția - industrializarea procesului de scriere a programelor devenind rentabilă utilizarea de programe pentru crearea programelor. Nu se mai caută expresii constante pentru a le scoate în afara ciclurilor, se caută elemente comune unor aplicații dintr-o clasă pe baza cărora se construiesc aplicații generice configurabile pentru situațiile particulare. Au apărut termeni noi - portabilitate, compatibilitate, interoperabilitate, standardizare. Apariția web-ului a accelerat acest proces. Prea mulți meșteșugari ar fi trebuit să reinventeze iar și iar aceeași roată care să se potrivească peste tot.

Și așa s-a schimbat definiția unui programator bun. El înțelege diagrame UML, respectă metodologii, știe să opereze cu medii sofisticate de dezvoltare a programelor, reutilizează componente, stăpânește, pentru limbajul în care scrie, biblioteci cu sute de funcții. Are la dispoziție o mulțime de ajutoare: editoare inteligente, compilatoare care optimizează codul în funcție de arhitectura procesorului pentru care generează cod, generatoare de programe, profilatoare de programe, depanatoare, validatoare etc. Nu prea mai este un dezvoltator de algoritmi, este mai mult un combinator. Disciplina și memoria devin mai importante decât inventivitatea. Numărul celor care au ocazia să "inventeze" ceva este relativ mic. Unii rezolvă probleme cu nume noi ca: scalabilitate, stabilitate, fiabilitate, securitate etc. Și se numesc arhitecți nu programatori. Alții se ocupă de ceea ce ține de industrializarea activității de programare. Și se numesc creatori de tehnologii. Și mai sunt și alții care inventează aplicații noi sau caută domenii în care tehnica de calcul nu a ajuns. Și se numesc specialiști în marketing.

De multe ori programare înseamnă configurarea de aplicații, interfațarea unor aplicații, operații de tip "completare de formulare". Doar existența sistemelor embedded și a altor sisteme caracterizate de resurse limitate față de imaginația celor care inventează aplicații noi, mai conservă necesitatea unor programe scrise linie cu linie și nu asamblate din alte programe. Numărul celor care lucrează în acest domeniu este încă mic. Dacă o să fie nevoie de mai mulți o să crească întâi eficiența dezvoltatorilor de aplicații. De exemplu prin perfecționarea instrumentelor cu ajutorul cărora se dezvoltă programe pentru astfel de sisteme.

Programarea a devenit o meserie ca oricare alta, se învață, se practică, nu necesită calități intelectuale deosebite.

Ar fi interesant de știut care o să fie definiția unui programator bun peste zece ani? La ce să se aștepte un absolvent care acum se pregătește pentru această meserie? Dar cineva care nu se pensionează în zece ani? Va însemna activitatea de programare mai mult decât crearea semiautomată a unor fișiere de configurare? Cum ne salvăm de plictiseală?

A existat o vreme în care copiii erau pasionați de locomotive și vapoare, mai târziu au fost pasionați de mașini, avioane și nave cosmice acum par toți să fie pasionați de calculatoare (cel puțin așa spun părinții). Trece și asta. O să urmeze altceva. Misterios și dificil.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro