Showing posts with label ALGOL. Show all posts
Showing posts with label ALGOL. Show all posts

Saturday, January 6, 2018

Programatorul de înaltă clasă

Și atunci, ca și acum, există o mare diversitate de programatori, dar cel mai bun lucru este să reușim să identificăm exact pe programatorul de care avem nevoie să ne rezolve în condițiile cele mai bune problema pe care vrem s-o rulăm pe calculator.
În acele vremuri nu oricine dorea chiar devenea programator pentru că:
- lipsea Internetul ca sursă de documentare;
- un calculator presupunea cunoștințe tehnice numeroase;
- limbajele de programare erau extrem de restrictive;
- centrele de calcul aveau criterii de angajare stricte;
- cărțile de programare nu erau laândemâna oricui;
- se formase deja o castă închisă a programatorilor;
- depanarea programelor era piatra dură de încercare.
Îți dădeai seama de programatorii foarte buni după cum le arătau fie imprimantele cu programe, fie foile de programare, căci un programator foarte bun scria un program, de asemenea, foarte bun, cu părți foarte clar structurate, cu includerea de secvențe elaborate și cu folosirea de chestiuni speciale care arătau că el știe meserie. Programatorul foarte bun realiza acel echilibru absolut necesar între cantitate și calitate și se vedea de la o poștă că programul său este precedat de nenumărate calcule din care a rezultat că secvențele incluse sunt dintre cele mai bune.
Și azi este tot așa. Mie nu trebuie să-mi arate cineva mii de programe scrise de el, ci un program. Acum când se lucrează online, oricare dintre programatori trebuie să se prezinte printr-o aplicație și după cum arată interfața, cât de șmecheră este aceasta și mai ales, dacă nu te lasă cu ochii-n soare, înseamnă că am în față un programator bun. Dacă programul se termină subit, aiurea cu un mesaj al sistemului de operare taman când eu vreau să mai rezolv și o altă problemă, înseamnă că respectiva hardughie este făcută după ureche și nu s-a ținut seama de cerințele unei aplicații online.
În vremurile de demult, programatorii de înaltă clasă aveau programe care:
- erau incluse în biblioteci renumite;
- rezolvau clase de probleme;
- admiteau probleme de dimensiuni nelimitate;
- gestionau numărul de iterații și precizia;
- aveau nenumărate validări care să asigure rezultate corecte și complete;
- erau înzestrate cu facilități de customizare;
- stocau seturi de date de intrare pe care le actualizau.
Am avut posibilitatea să cunosc pe unii dintre autorii acestor programe și să lucrez cu acele programe, pentru că la disciplina Programe aplicative care era predată studenților de la Facultatea de Cibernetică erau folosite astfel de produse program, multe dintre ele fiind făcute de firme străine, dar câteva precum VERONICA, CROCODIL, EMI, produsul de alocare și nivelare a resurselor, erau reaslizate de programatori din Centrul de Calcul al ASE. Duță Doru Lucian, Csaba Fabia, Ciobanu Gheorghe și Ruxanda Gheorghe sunt numai câțiva din marii programatori cu ale căror produse program am avut onoarea să lucrez la seminarii cu studenții ciberneticieni de-a lungul vremii. Despre Catona Ioan și Popescu Cristian voi scrie separat că ei au realizat implementarea la Danubiana a unor componente esențiale de calcul de necesar și de planificare a producției din sistemul BOMP al IBM. Erau și alți programatori eficienți care elaborau programe de bună calitate, căci nimeni nu rezista în branșă fără să aibă un nivel ridicat de performanță. 
În programare ori ești bun și oferi beneficiarului programe care să-i rezolve problemele, ori nu ești bun și tot timpul spui că ești cu programul ba în compilare, ba în editare de legături, ba în testare, până beneficiarul se plictisește și caută pe altul care să-i rezolve problema.
La un moment dat am ajuns să identific programatorii de înaltă clasă și pe cei pe cale de a deveni programatori foarte buni prin câteva semne pe care le-am considerat esențiale, precum:
- modestia;
- tăcerea;
- munca;
- ordinea;
- perseverența;
- concentrarea;
- disciplina.
Imediat ce o persoană îmi înșirea ceea ce știe el să facă și lista era mult prea bogată, o includeam în grupul celor care zic că se pricep la multe, dar de fapt nu știu să facă prea multe. Imediat ce vedeam niște for de programare cu ștersături și împrăștiate, se clarificau multe dintre minusurile celui care se credea a fi bun programator. Imediat de programtorul vorbea despre bogata sa e.xperiență dar nu avea cel puțin un program pe care să-l văd la treabă, îmi dădeam seama că respectivul doar se laudă. Imediat ce într-o discuție apăreau schimbări prea dese de variante de soluții, îmi dădeau seama că respectivul nu prea are capacitatea de a porni ceva și de a soluționa, căci el intervine și tot timpul modifică, fără să finalizeze vreun program.
În programare este esențială identificarea programatorilor de înaltă clasă căci lor trebuie să li se dea să facă programe mari și grele pe care ei au capacitatea de a le duce la bun sfârșit. Este deja o tragedie când se acordă un cec în alb unui programator lăudăros, fără rezultate, dându-i-se să facă un program greu, căci respectivul nu-l va face, va încurca lucrurile. Dacă ceea ce respectivul a făcut este dat unui programator foarte bun să continue, cu siguranță că programatorul foarte bun va arunca la coșul de gunoi acel program fără valoare și va lua el de la zero realizarea programului. Eroarea de management are riscuri mari în ceea ce privește depășirea de termene de predare a lucrărilor.



(06 ianuarie 2018)

Wednesday, November 8, 2017

Istoria românească a limbajelor de prima generație


În mod artificial se zice că FORTRAN și COBOL sunt limbeajele de programare din prima generație. Ele nu sunt cu nimic nici dâmbovițene și nici mioritice, așa cum ne-ar place nouă să credem când ne deslănțuim a spune că istoria a început pe undeva pe ici-șa.
Aceste limbaje de programare au pătruns la noi pe măsură ce economia noastră a fost dotată cu calculatoare IBM și FELIX C-256, căci eu nu iau în calcul implementări de sublimbaj făcute de persoane entuziaste care exersau construirea de compilatoare autohtone, cu caracter limitat, particoluar și cu comportament imprtevizibil, care nu funcționai în niciun caz independent de cel ce dezvoltase așa ceva.
Ceea ce a intrat la noi a fost acel FORTRAN IV și după aceea limbajul FORTRAN implementat pentru calculatorul FELIX C-256 la peste 20 de ani de la crearea în USA a limbajului.
Aceste limbaje au avut o răspândire importantă pentru că:
- a existat o literatură românească cu prezentarea lor;
- funcționau nenumărrate calculatoare;
- industria cerea soluții rezolvabile cu ele;
- programatorii aveau un entuziasm și o dorință enormă de afirmare;
- cei ce nu se pricepeau nu-și băgau nasul în oalele programatorilor.
Știu că în 1970 navele de la ICEPRONAV se proiectau pe calculatorul IBM 360 din Centrul de Calcul al ASE. Știu că reparațiile capitale de la Rafinăria Brazi se derulau pe baza graficului de drum critic  scos la calculatorul IBM 360 din Centrul de Calcul al ASE. Știu că studiile privind dezvoltarea  cu modele cibernetice a zonei Mureșului Superior se obțineau la calculatorul IBM 360 din Centrul de Calcul al ASE. Și la Danubiana se făcea programarea producției de anvelope și calculul de necesar cu ceea ce se obținea de la calculatorul IBM 360 din Centrul de Calcul al ASE. Și toate acestea se produceau undeva prin anul 1971. Programele de irigații optimale ale ISPH coordonate de Ulise BERAR se rulau tot la calculatorul IBM 360 din Centrul de Calcul al ASE.
Despre marile probleme ale întrerpinderilor și ele mari care funcționau în economia socialistă, toate centrele teritoriale de calcul-CTE se găseau soluții cu programe scrise în limbajele COBOL preponderent dar și în FORTRAN. Cele mai multe programe erau scrise în COBOL.
Limbajul ALGOL n-a prins la noi deși ca poezie era aproape perfect, genial, pe care muritorii de rând fie că nu l-au înțeles, fie că nu l-au iubit, dar eu sunt sigur că nu avea compilator performant. Cine venea din FORTRAN găsea construcțiile din ALGOL peste mână și cei din jur îl descurajau din invidie sau din ignoranță, dar eu cred că mai mult din lipsă de preocupări de perfecționare.
Limbajul PL/1 nu a prins nici el pentru că era prea apropiat de ALGOL și prea departe de FORTRAN sau de COBOL și  programatorii ori acceptă, ori resping pur și simplu, nu există acel nu prea.


(07 noiembrie 2017)

Friday, September 29, 2017

Dragoș VAIDA


Dragoș VAIDA la 80 de ani

Privilegiul de a fi studentul profesorului Dragoș VAIDA mi-a fost oferit de apartenenta mea la seria de studenti de la Sectia de Mecanizare, din Facultatea de Cibernetica, a doua promotie, 1965-1970.
Despre profesorul Dragoș VAIDA voi vorbi cu un respect profund pentru modul special in care a fost prezent cativa ani in mijocul celei de a doua serii de la Sectia de Informatica Economica a Facultatii de Cibernetica din ASE. Profesorul Dragoș VAIDA a predat cursurile de Analiza numerica si Limbaje de programare in anii 3, 4, si 5. Modul in care se prezenta in fata noastra demonstra marea sa clasa, cunostintele sale speciale si capacitatea de a incepe un curs si de a-l termina in cele mai bune conditiuni. Profesorul Dragoș VAIDA construia din aproape in aproape demonstratiile, in mod logic curgeau toate formulele, incat nu era nevoie sa inveti nimic pe dinafara, asa cum se procedeaza atunci cand studentul nu intelege ceea ce trebuie sa prezinte cand trage biletul la examen. Lucrurile extrem de dificile erau prezentate pe inteles, pentru ca programarea in ALGOL '68 nu era un lucru simplu, din moment ce recursivitatea o luase cu mult inaintea implementarilor, iar domeniile de definire ale variabilelor abia limbajul C daca le-a implementat cat de cat in anumite nuante, din moment ce avea definiri de blocuri.
Fiecare curs era bine structurat, clar prezentat si maniera de expunere punea in evidenta calitatile exceptionale ale unui profesor adevarat, desi tanar in acele vremuri.
Cand am ales in primavara anului 1970, pentru lucrarea de diploma RUTINE INTERPRETATIVE SI RUTINE COMPILATIVE am avut marea onoare de a-l avea pe domnul profesor Dragoș VAIDA coordonator. Il stiam pe profesorul care preda. Il stiam pe cercetatorul stiintific cu biroul de la etajul al patrulea din centrul de Calcul al ASE. Conducatorul lucrarii de diploma profesorul Dragoș VAIDA mi-a dezvaluit o alta fateta, aceea a unei puternice personalitati, autor al unor lucrari de pionierat in domeniul construirii compilatoarelor, prin abordari de inalt nivel teoretic. Domnia sa mi-a oferit spre documentare o serie de carti in mare voga in acei ani dar mi-a oferit fara rezerve manuscrisul lucrarii ALGORITMI DE COMPILARE, ce avea sa apara in anul 1971 la Editura Didactica si Pedagogica. Am fost surprins de gestul domniei sale si am cautat prin tot ceea ce am construit in lucrarea mea de diploma sa fac lucruri care sa fie corecte si bine documentate. Discutiile pe capitole au fost insotite de sfaturi si de sugestii, astfel incat consider ca pe parcursul intregii colaborari am avut foarte multe lucruri de invatat. Profesorul Dragoș VAIDA publica in reviste importante si participa la conferinte internationale, noi ca studenti aflam despre acestea cand veneau sa tina cursuri alte persoane si de fioecare data se vedea diferenta, rugandu-l la intoarcerea de la conferinte sa reia multe dintre problemele predate ce ceilalti, problemele fiind dificile pentru respectivii... M-a impresionat la profesor faptul ca venea la costum, cravata si avea o batista care ii dadea o anumita distinctie. De cate ori il intalneam pe profesor la Coloane la Romana, domnia sa venind catre cabinetul de la etajul al patrulea din Centrul de Calcul si il salutam, scotea palaria in fata noastra si ne minunam de acest gest de politete al unui om deosebit, fata de noi care eram numai niste studenti. Azi, cum stau lucrurile?... In anul 2001 am avut onoarea ca in calitatea mea de sef al Catedrei de Informatica Economica sa fiu la masa prezidiului celei de a V-a editii a Conferintei Internationale de Informatica Economica, prilej cu care profesorului Dragoș VAIDA i-a fost decernat Premiul Grigore MOISIL pe anul 2000. In Revista Informatica Economica, vol. 5, nr. 1, 2001 au fost prezentate argumentele care au stat la baza nominalizarii domnului profesor Dragoș VAIDA. Acum la ceas aniversar, ma alatur celor care i-au fost studenti si ii urez Domnului Profesor Dragoș VAIDA un calduros
LA MULTI ANI! 

(articolul  scris în 2013 este preluat de pe site)
(29 septembrie 2017)