Limbaje de Programare

2
Categorii După paradigma programării o limbaje ezoterice, ex. Brainfuck o limbaje procedurale; ex. C , Java , Perl o limbaje funcționale: ex. ML , Haskell o limbaje pentru programarea logică ex.Prolog , DATALOG o limbaje mixte: ex.LISP oferă un amestec heteroclit și netipizat de programare imperativă și programare funcțională După nivelul de abstractizare (care printre altele corespunde cu ușurința cu care programele pot fi citite și înțelese de către programatori): o limbaje de generația întâia: limbajele cod-mașină (limbaje mașină) o limbaje de generația a doua: limbajele de asamblare o limbaje de generația a treia: limbaje de nivel înalt, cum ar fi C-ul (și toate derivatele sale: C++ , Java , ...), Pascal , Fortran ș.a. o limbaje de generația a patra: limbajele neprocedurale, orientate pe rezolvarea unei anumite clase de probleme: SQL ș.a. o limbaje de generația a cincea: limbaje utilizate în domenii precum logica fuzzy, inteligența artificială sau și rețelele neuronale : Prolog , LISP ș.a. După vechime o Limbaje din secolul trecut; ex. LISP și FORTRAN din anii '50 o Limbaje din ultimul deceniu; ex. Haskell , Ruby , Brainfuck , limbajul D [1]

description

limbaje de programare descriere

Transcript of Limbaje de Programare

Categorii

Dup paradigma programrii

limbaje ezoterice, ex. Brainfuck limbaje procedurale; ex. C, Java, Perl limbaje funcionale: ex. ML, Haskell limbaje pentru programarea logic ex.Prolog, DATALOG limbaje mixte: ex.LISP ofer un amestec heteroclit i netipizat de programare imperativ i programare funcional

Dup nivelul de abstractizare (care printre altele corespunde cu uurina cu care programele pot fi citite i nelese de ctre programatori):

limbaje de generaia ntia: limbajele cod-main (limbaje main)

limbaje de generaia a doua: limbajele de asamblare

limbaje de generaia a treia: limbaje de nivel nalt, cum ar fi C-ul (i toate derivatele sale: C++, Java, ...), Pascal, Fortran .a.

limbaje de generaia a patra: limbajele neprocedurale, orientate pe rezolvarea unei anumite clase de probleme: SQL .a.

limbaje de generaia a cincea: limbaje utilizate n domenii precum logica fuzzy, inteligena artificial sau i reelele neuronale: Prolog, LISP .a.

Dup vechime

Limbaje din secolul trecut; ex. LISP i FORTRAN din anii '50

Limbaje din ultimul deceniu; ex. Haskell, Ruby, Brainfuck, limbajul D[1]Execuie

Pentru executarea unui program scris ntr-un limbaj oarecare, exist, n principiu, dou abordri: compilare sau interpretare. La compilare, compilatorul transform programul-surs n totalitatea sa ntr-un program echivalent scris n limbaj main, care apoi este executat. La interpretare, interpretorul ia prima instruciune din programul-surs, o transform n limbaj main i o execut; apoi trece la instruciunea doua i repet aceleai aciuni .a.m.d.

Unele limbaje se preteaz bine la compilare; de exemplu limbajele clasice: Pascal, Fortran, C. Altele sunt cu predilecie interpretate, de ex. BASIC, PHP, SQL. Multe limbaje moderne combin compilarea cu interpretarea: codul surs este compilat ntr-un limbaj binar numit bytecode, care la rulare este interpretat de ctre o main virtual. De remarcat faptul c unele interpretoare de limbaje pot folosi compilatoare aa-numite just-in-time, care transform codul n limbaj main chiar naintea executrii.