|
Tipuri de limbaje de programare. Clasificare.
Un limbaj de programare este un sistem de conven?ii adoptate pentru realizarea unei comunic?ri – între programator ?i calculator . Limbajele folosite pentru programarea unui calculator sunt extrem de asem?n?toare limbajelor naturale . Ele sunt compuse din :
- cuvinte (rezervate) ;
- punctua?ie ;
- propozi?ii ?i fraze ;
- reguli sintactice etc .
A?a cum pentru însu?irea unei limbi str?ine trebuie înv??ate cuvintele acesteia ?i
regulile cu care pot fi manevrate tot a?a pentru însu?irea unui limbaj de programare trebuie studiate cuvintele ?i semnele care îl compun împreun? împreun? cu regulile de manevrare a lor.
Dup? metoda cu care este conceput ansamblu comunic?rii , limbajele pot fi clasificate în mai multe moduri . În continuare voi enumera cele mai importante clase de limbaje , descriere ce acoper? totalitatea limbajelor existente .
I.1. Limbaje de nivel sc?zut – de nivel înalt
“ Nivelul “ unui limbaj este apreciat prin pozi?ia pe care o ocup? pe scara constituit?
de limbajul recunoscut de microprocesor ( limbaj ma?in? ) ?i limbajul natural al programatorului ( limba român? , limba englez? …) .
Un limbaj de nivel sc?zut este foarte apropiat de ma?in? , el manipuleaz? cu elemente de nivel hardware , fizic , cum ar fi : registru , microprocesor , loca?ie de memorie , port de intrare / ie?ire etc .
Un limbaj de nivel înalt sau foarte înalt manipuleaz? cu concepte apropiate de limbajul natural , concepte de nivel logic , cum ar fi : colec?ie de date , nume de opera?ie ( sort , writeln , open ) , variabile , constante ( asem?n?toare ca în?eles cu cele din matematic?).
Cu ajutorul unui limbaj de nivel înalt programatorul se face mult mai u?or în?eles de c?tre calculator . Uneori o singur? limie de program scris? cu un astfel de limbaj poate echivala cu sute de linii de program scrise în limbaj ma?in? . Deci din punct de vedere al reducerii timpului de realizare a unui program ?i al siguran?ei în func?ionare ( absen?a erorilor de programare ) este de preferat un limbaj de nivel cât mai ridicat ( înalt sau foarte înalt ) .În schimb , pe m?sur? ce limbajul are un nivel mai ridicat execu?ia programului conceput cu ajutorul s?u va fi mai lent? , decât a unui program ce realizeaz? acelea?i opera?ii dar este scris în limbaj de asamblare .
O alt? diferen?? esen?ial? între cele dou? tipuri de limbaje o reprezint? portabilitatea , adic? posibilitatea transfer?rii programelor pe un alt tip de ma?in? decât cea pe care au fost construite . Din acest punct de vedere limbajul de asamblare este neportabil deoarece el este specific microprocesorului . Programele realizate pe un tip de ma?in? trebuie rescrise integral pentru noul tip de ma?in? , folosind un nou set de instruc?iuni – care deobicei difer? foarte
mult . Lucrurile stau altfel cu programele concepute cu ajutorul unui limbaj de nivel înalt , deoarece acestea sunt deta?ate de ma?in? . Între un astfel de program ?i calculator se interpune compilatorul ( sau interpretorul ) care rezolv? corect transformarea fi?ierului-surs? în fi?ier-executabil .
I.2. Limbaje procedurale – neprocedurale
Cele dou? tipuri de limbaje , procedurale ?i neprocedurale , se diferen?iaz? prin nivelul
de organizare ( structurare ) a unui program . Limbajele neprocedurale sunt concepute pentru a gândi un program la nivel de instruc?iune , pe când cele procedurale , oblig? programatorul s? conceap? programe la nivel de bloc . Într-un limbaj procedural (numit ?i limbaj structurat)
programele sunt scrise instruc?iune cu instruc?iune , dar ele sunt organizate logic în blocuri (grupuri de instruc?iuni ) ce realizeaz? o ac?iune bine determinat? .În general un bloc are un punct de intrare ?i un punct de ie?ire – nu mai multe .
Un limbaj procedural ofer? posibilitatea utiliz?rii unui nivel ridicat de concepere a unui program ?i duce la realizarea de programe coerente ?i protejate la erori . Prin contrast , limbajele neprocedurale nu favorizeaz? programatorul în a se desprinde de nivelul „instruc?iune „ ?i duc deseori la programe greu de controlat – mai ales în cazul programelor de dimensiuni mari .
Limbajele neprocedurale sunt înc? preferate de unii utilizatori datorit? timpului foarte scurt cât decurge înv??area ?i utlizarea lor .
|