Limbaje de programare

Orice istorie a limbajelor de programare are menirea de a face un pomelnic al limbajelor şi vom avea surpriza să vedem că a existat o puzderie de limbaje, iar cele mai cunoscute sunt cele pentru carte au fost construite compilatoare puternice şi au fost create biblioteci de funcţii incluse, extrem de numeroase şi de performante.
Oricine a vrut şi-a imaginat un limbaj. dacă a avut echipa cu care să construiască un compilator sau un translator, respectivul limbaj şi-a croit drum în lumea programatorilor şi numai virtuţile limbajului în sine au fost cele care l-au impus sau l-au aruncat la periferie. Eu am lucrat până acum în limbajele:
- FORTRAN
- COBOL,
- PASCAL,
- C++,
- PhP,
- SWIFT,
- PL/1
- SQL,
- ASSEMBLER,
- ASSIRIS,
- ASM,
- HTML,
deci îmi dau seama cât de cât care este diferenţa dintre aceste limbaje şi ce le recomandă pentru a fi utilizate în soluţionarea de probleme. Când un programator se apucă să studieze un limbaj de programare trebuie să se lămurească în legătură cu:
- modul în care se construiesc identificatorii,
- regulile de sintaxă,
- tipurile de constante şi de variabile,
- cuvintele cheie,
- implementarea structurilor de control,
- lista operatorilor şi priorităţile,
- bibliotecile de funcţii,
- definirea de blocuri,
- alocarea de memorie,
- reutilizarea de componente,
- formele de agregare a structurilor,
- nivelurile de autoreferire,
- implementarea recursivităţii.
Sunt importante exemplele furnizate de cei care au implementat limbajul într-un mediu de dezvoltare, iar programtorii trebuie să dispună tot timpul de documentaţie care descrie exact cum sunt utilizate entităţile limbajului, fie de diagrame, fie de construcţiile BNF.
După părerea mea, există limbaje rigide şi limbaje flexibile.
Există limbaje cu compilatoare care oferă mesaje clare şi limbaje care au implementate compilatoare ermetice din care numai programatorii experimentaţi ies la liman.
Niciun compilator nu face corecţii automate. Dacă a fost definită variabila ALFA_beta şi este utilizată de 1.000 de ori cu această denumire, dacă vom scrie ALFA-beta se va considera că este vorba de o subexpresie aritmetică unde apare scăderea dintre doi operanzi ALFA şi beta. Dacă din întâmplare cei doi operanzi au fost definiţi şi iniţializaţi, se evalează subexpresia şi totul scapă de sub control exact cum s-a întâmplat cu traiectoria unei rachete dirijată printr-un program care avea exact această eroare.
Nicio documentaţie nu spune totul despre un limbaj de programare. Numai lucrul de zi cu zi şi numai încercările pe care le face programatorul sunt cele care dau măsura virtuţilor limbajului şi-l fac mai util sau mai puţin util, în raport cu clasa de probleme de rezolvat.
Este rezonabil ca programatorul să-şi facă şi el regulile lui, adică să aibă un stil de programare cu care trece de la un limbaj la altul, pentru a niu-şi încărca inutil mintea cu elemente neimportante şi pentru a-şi face viaţa mai uşoară.
Se stabileşte o regulă de construire a blocurilor.
Se fixează limitările de folosire a operatorului de negare.
Se caută folosirea operatorului de incremetare şi nu a expresiei a=a+1.
Se foloseşte omogen implementarea aceleiaşi structuri repetitive.
Se definesc variabilele într-o secvenţă omogenă.
Se transmit parametri fără a li se distruge conţinutul.
Programatorul va lucra ordonat cu programele scrise în fiecare limbaj, pentru a avea sursă de inspiraţie peste ani când va fi obligat să facă mentenanţa unor componente într-un limbaj pe care l-a abandonat acum mulţi ani, iar operaţia de mentenanţă este plătită regeşte.

revenire