Showing posts with label GO TO. Show all posts
Showing posts with label GO TO. Show all posts

Tuesday, May 30, 2023

Eu și programarea structurată

Programarea structurată a apărut ca nuca-n perete în implementările acelui limbaj FORTRAN IV, cu puzderia de instrucțiuni GO TO care simulau implementările structurilor repetitive sau a celor alternative. Mie îmi plăcea limbajul ALGOL, numai că nu prea avea implementări cât de cât decente și de aceea structurile fundamentale nu aveau în limbajele uzuale implementări adecvate.
Când a apărut limbajul PASCAL cu compilatorul lui performant BORLAND, am simțit că programarea structurată își intră în pâine, cum se spune.
Programarea structurată a făcut lumină în programare, căci a început era programelor curate, lipsite de încâlceala pe care o aducea dezordinea folosirii instrucțiunilor de salt necondiționat. Acum, programatorii aveau posibilitatea să scrie programe exact așa cum gândește omul, folosind:
- structuri liniare,
- structuri alternative,
- structuri alternative multiple,
- structuri repetitive condiționate anterior,
- structuri repetitive condiționate posterior.
Un program structurat se citește ușor și se înțelege ușor, căci el redă gândirea umană, un pic mai schematizată, dar pe înțelesul tuturor. Acum, privind în urmă, mă și întreb cum mama naibii, oamenii au fost așa de tăntălăi încât să programeze cu GO TO ca disperații, făcându-și viața un calvar, când de fapt ar fi trebuit să facă treaba ca lumea de la început, adică să facă programare structurată. Așa cum nu s-a trecut direct de la roți dințate la cipuri, ci s-au folosit tuburi și tranzistori, tot așa a fost nevoie ca prin chinurile facerii să se treacă prin utilizarea instrucțiunii GO TO.


(30 mai 2023)

Eu și GO TO

Nu am explicație de ce lumea detestă instrucțiunea GO TO din limbajele de programare, când cine știe limbaje de asamblare, știe că ea nu are cum să fie evitată, dar e folosită mascat. Pentru cunoscători, implementarea structurilor fundamentale din programare, chiar dacă nu se vede, instrucțiunea de salt necondiționat apare la greu atunci când se generează modulele obiect. În ziua de azi, nu mai deranjează deloc apariția mascată a instrucțiunilor de salt necondiționat. Important este că programele nu mai sunt încâlcite așa cum erau programele FORTRAN  în care instrucțiunea GO TO apărea ostentativ cu nenumăratele ei forme, care enervau pe toți cei care încercau să depaneze programe de câteva sute de linii sursă, unde programatorii nu introduseseră comentarii și depanatorii doar bâjbâiau.
Mi s-a părut o mare gogomănie simularea structurilor fundamentale într-un limbaj FORTRAN vetust, de dinainte de FORTRAN77, dar după ce au apărut limbajele PASCAL, C, C++, JAVA, deja eliminarea instrucțiunii GO TO era efectivă și gândirea programatorilor a devenit mult mai cursivă. Lor nu le apare saltul necondiționat, deși sărăcuțul de el este prezent pretutindeni. 
Cine vrea să se gândească la referirea unei funcții, această referire înseamnă un salt necondiționat spre locul unde sunt instrucțiunile executabile al funcției. revenirea cu RETURN în programul apelator este și ea realizată tot cu un salt necondiționat. Este ca la scamatori, te fură din ochi, nu vezi, dar te bucuri și basta.
Regele GO TO a murit! Trăiască regele GO TO!


(30 mai 2023)