Saturday, October 14, 2017

POO, adică programarea orientată obiect

Programarea orientată obiect înseamnă un salt extraordinar făcut în programare, exact cum a zis Neil ARMSTRONG când a ajuns pe Lună: un pas mic pentru om, un salt uriaș pentru omenire, deși unii cârcotași,  consideră că n-ar fi zis chiar așa.
La noi POO a început să se dezvolte abia după ce au fost cumpărate calculatoare personale ceva mai puternice, de la micoprocesoarele 386 cu cel puțin 4Gb mamorie cache dar și cu medii de dezvoltare ceva mai tari decât cele de tip Borland. Atât limbajul C++ cât și limbajul PASCAL dispun de facilități pentru implementarea în programe a tuturor proprietăților obiectelor, cu avantaje mai ales. Deși au apărut nenumărate lucrări despre programarea orientată obiect, inclusiv o carte de analiză, adică OOA, nu voi conchide că cititorul a găsit acele elemente care să-l convingă că trebuie să gândească programele altfel decât cum o făcea înainte. De aceea am văzut nenumărate texte care mimau lucru cu obiecte, căci erau introduse forțat clasele, căci de vedea de departe că cei ce le scriseseră nu simțeau lucrul cu obiecte ca pe un fapt natural.
dacă iau în considerare că mai puternic s-a făcut programare orientată obiect după anul 2000, pentru cei 17 ani care s-au acurs este deja vorba de o istorie recentă și lucrurile nu sunt decantate. Cum aplicațiile online de contact cu mine în calitate de client nu sunt entuziasmante, nu am să mă pronunț câr de grozave sunt, căci mai degrabă era rezonabil să se facă niște șabloane și nu să se lucreze ca în anii '60 când nu știa dreapta ce face stânga în programare și fiecare întreprindere, oficiu de calcul, centru de calcul își scria propriul său program de calcul de salarii încât o harababură și o risipă de resurse nici să avea cum să se realizeze altcumva. 
Cine are curiozitatea să intre pe portalurile a două universități se ia cu mâinile de cap și se lasă păgubaș că numai în 1.000 de click-uri ajunge, dacă ajunge la informația dorită. Să mai treacă 10 ani și după 25 -30 de ani de POO lucrurile vor fi decantate cât de cât pentru a încăpea în paginile unei storii a informaticii românești. Abia atunci se va vorbi de aplicații care au funcționat ca lumea și abia atunci se vor găsi și aplicații dar și rezultate originale în zona software sau hardware, altele decât succesul lui Bitdefender, care domină copios piața de anti-viruși. Despre hackerii mioritici nu vreau să discut de prea multă rușine, chit că unii dintre ei stăpânesc tehnologia POO, deși invidioșii îi consideră idioți care nu-și canalizează corect inteligența.
Se vrobește prea lult despre programarea orientată obiect, POO  sau OOP, dar aș vrea să văd clasele definite de dezvoltatorii de software și să le știu încorporate în bibliotecile uzuale astfel încât dacă aș scrie ceva aplicații să le am la dispoziție și să fie atât de bune și de utile încât să simt că într-adevăr POO mi-a ușurat și viața și munca de programator, că mi-a crescut productivitatea mie și a crescut calitatea textelor pe care le fac, spre bucuria unor utilizatori din ce în ce mai exigenți mai nerăbdători să piardă timpul în a ajunge la informațiile dorite în mai mult de trei click-uri, nu două cum cere lumea spălată.
Despre POO pentru programe scrise în limbaj de asamblare merită o dezvoltare separată, pe care probabil o voi face ceva mai târziu. Și zbaterea limbajului COBOL spre OOP a fost o chestie care la noi nu a prins, deși așa cum erau aduse completările erau în linia a ceea ce se știa despre acel limbaj și nu cred că ar fi fost prea greu să se facă software în OO COBOL. N-a fost să fie. Nici cu limbajul FORTRAN n-a fost mare câștig după eșecul cu programarea structurată în acest limbaj. Programatorii FORTRAN erau prea uzați ca să asimileze OOP și să facă software în OO FORTRAN, iar tinerii programatori Look Back in Anger, ca în filmul englezesc din 1959.
POO în afara unei coerențe a reutilizării claselor rămâne doar o poveste interesantă și atât.


(14 octombrie 2017) 

No comments:

Post a Comment