Sunday, October 1, 2017

Tehnici de programare

Tehnicile de programare trebuie văzute ca seturi de reguli generate de noile resurse pe care le introduc limbajele de programare, astfel încât construcțiile software să fie realizate:
- eficient;
- optimal;
- în timp cât mai scurt;
- de înaltă calitate;
- cu costuri minime;
- în regim industrial.
La început fiecare a scris programe cum a crezut, adică după felul cum s-a priceput. Unii au căutat să învețe să scrie programe așa cum erau cele din cărțile de unde ei înșiși citiseră primele noțiuni de limbaje de programare. Alții mai inventivi căutau să îmbunătățească programele lor construind propriile reguli. Problemele cele mai complicate au apărut atunci când calculatoarele au avut resurse mai mari și s-au impus rezolvări ale unor probleme de mare complexitate cărora le corespundeau bucăți de programe scrise de mai mulți programatori, care puse cap la cap trebuiau să dea un întreg numit produs program sau software al unui sistem informatic. Obținerea acelui grad de omogenitate a părților de program care să dea întregul de la două sau cel mult cinci încercări a devenit posibilă numai prin definirea de tehnici de programare și scrierea de programe folosind aceste tehnici de programare.
De-a lungul timpului au apărut tehnici de programare foarte diferite, unele mai speciale decât altele, dar de fiecare dată s-a văzut progresul pe care acestea îl aduceau mai ales în zona creșterii productivității programatorilor și cea a creșterii calității produselor software.
Programarea în limbaj mașină a reprezentat exact ceea ce reprezintă culorile din tuburi pentru un pictor care și-a propus să facă o frescă imensă, fără să aibă altceva decât imaginea din mintea sa, peretele tuburile, pensule, penelul și bineînțeles talentul său genial dacă-l posedă. programatorul are doar câteva materii prime, câteva principii și restul trebuie el să facă și încă foarte bine.
Programarea ca artă este folosită și azi, mai ales de programatorii care lucrează programe pentru ei, fără a se gândi la ceea ce se întâmplă cu produsele lor finite, mai ales dacă ei înșiși recunosc că nu sunt interesați nici de reutilizabilitate și nici de integrabilitate.
Programarea structurată s-a dorit ceva absolut special, dar nu a prins pentru că a fost dusă acolo unde nu se potrivea, adică spre limbajul FORTRAN, limbaj prin excelență care folosea instrucțiunea GO TO, ceea ce programarea structurată interzicea categoric. Cred că limbajul COBOL ar fi fos mai nimerit pentru a implementa cerințele programării structurate, asigurând linearitatea prin instrucțiunea PERFORM folosită la maximum și inteligent.
Programarea orientată obiect a venit o dată cu limbajele Pascal și C++, dar chiar și acum sunt mulți programatori care sunt în stare să vorbească ore în șir despre obiecte și funcții virtuale, dar care se vede de la o poștă că mimează programarea orientată obiect pentru că nu o simt în sânge.
Programarea vizuală se adresează celor care doresc să realizeze construcții software cât mai complexe și care au la dispoziție resurse pe care le construiesc singuri și pe care sunt ajutați să le reutilizeze, cu o gestionare foarte bună a redundanței. Cine stă pe lângă un programator care folosește acestă tehnică are impresia că stă în fața unui vraci care face știință.
Programarea industrială este asemeni comunismului, visul de aur al programatorilor care doresc să dezvolte programe în regim indistrial, așa încât programele să nu mai pară chestii individuale, ci rezultatul unei munci de rutină. Acum limbajele de programare îi ajută foarte mult și nu va trece timp îndelungat când vor fi introduși in 100 de săli 100 de programatori și vor fi puși să scrie independenți unii de ceilalți, soluția unei probleme fără să li se dea alte detalii decât textul problemei - specificațiile deci, iar ei vor scrie cele 100 de texte sursă care nu vor diferi între ele decât cu cel mult 5%, ceea ce dacă s-ar face azi, diferențele ar fi cred eu de cel puțin 40%, programatorii lucrând azi tot independent unii de ceilalți.
În opinia mea, programatorii sunt un fel de poeți ai calculatoarelor și sunt foarte greu de strunit, iar a-i forța să scrie programe toți în același fel este un eșec, exact așa cum Școala de literatură din anii proletcultismului a eșuat, căci nu există nici linii tehnlogice de a scrie poezi și nici linii tehnologice de a scrie programe așa cum sunt linii tehnologice în industrie pentru a face șuruburi.
Tehnicile  de programare reprezintă în istoria informaticii exact ceea ce reprezintă periodizarea după modurile de producție în istorie. Comunei primitive  îi corespunde programarea în cod mașină. Sclavagismului îi corespunde programarea empirică. Pentru capitalism este programarea structurată. Imperialismului îi corespunde POO. Sorry, comunismului nu-i corespunde nimic.



(02 octombrie 2017)

No comments:

Post a Comment