Limbaje de programare declarative (descriptive).

Conceput pentru a rezolva problemele de inteligență artificială, ele includ astfel de limbaje care sunt capabile, în funcție de setul de date inițiale, să modifice algoritmul de lucru, adică. „din mers” pentru a schimba programul.

Limbi funcționale. Ele se bazează pe conceptul unei funcții ca „cutie neagră”, având un vector de parametri (argumente)

declarative
la intrare și un rezultatr(scalar) la ieșire:

limbaje
(7.1)

Nu există operatori în limbaje de programare funcționale: toate acțiunile, inclusiv structurile de control, sunt efectuate folosind apeluri de funcție. Deoarece fiecare funcție returnează o valoare, aceasta poate fi înlocuită ca argument cu o altă funcție, permițând scrisul expresiilor complexe în formă funcțională. Unul dintre primele limbaje funcționale a fost limbajul interpretatLISP(Lisp), creat la sfârșitul anilor 50.

Limbaje logice. Programarea logică este o încercare de a încredința programatorului doar formularea problemei și de a lăsa căutarea modalităților de a o rezolva pe seama traducătorului. Limbajul acestui grupProlog(Prolog) a fost creat la începutul anilor '70 de Alan Colmeroe. Se bazează pe modelul matematic al teoriei calculului predicatului. Un program în acest limbaj este construit dintr-o succesiune de fapte și reguli, iar apoi se formulează o declarație pe care Prolog va încerca să o demonstreze folosind regulile introduse. O persoană descrie doar structura problemei, iar „motorul” intern al Prolog însuși caută o soluție folosind metode de căutare și potrivire.

Limbaje de programare orientate pe obiecte

Această direcție a început să se dezvolte la mijlocul anilor '70. Kernighan și Ricci. Este o afișare a obiectelor din lumea reală, proprietățile (atributele) și relațiile dintre ele folosind structuri speciale de date (clase).Începutul implementării a fost stabilit de versiunile OO ale limbajelor C și Pascal.

ObiectPascal. O extensie orientată pe obiect a limbajului Pascal.

C++ (C++).O extensie orientată pe obiecte a limbajului C creată de Bjarne Stroustrup în 1980.

Java(Java, Java).Acest limbaj a fost creat de Sun la începutul anilor 90 pe baza C++. Este conceput pentru a simplifica dezvoltarea aplicațiilor bazate pe C++ prin eliminarea tuturor caracteristicilor de nivel scăzut din acesta. Dar principala caracteristică a acestui limbaj este compilarea nu în codul mașinii, ci în bytecode independent de platformă (fiecare comandă ocupă un octet). Acest bytecode poate fi executat cu ajutorul unui interpret - Java Virtual Machine JVM (JavaVirtualMachine), ale cărui versiuni sunt create pentru orice platformă. Datorită prezenței multor mașini Java, programele Java pot fi portabile nu numai la nivel de cod sursă, ci și la nivel de bytecode binar, astfel încât limbajul Java a devenit foarte popular. O atenție deosebită în dezvoltarea acestui limbaj este acordată două domenii: suport pentru tot felul de dispozitive mobile și microcalculatoare încorporate în aparatele de uz casnic (tehnologia Jini) și crearea de module software independente de platformă care pot rula pe servere din rețele globale și locale. cu diverse sisteme de operare (tehnologia JavaBeans). Până acum, principalul dezavantaj al acestui limbaj este performanța sa scăzută, deoarece limbajul Java este interpretat.

Smalltalk. Un limbaj interpretat creat de XEROX Corporation în 1980. Sintaxa limbajului este foarte compactă și se bazează exclusiv pe conceptul de obiect. Nu există operatori sau date în această limbă. Tot ceea ce este inclus în Smalltalk este un obiect, iar obiectele în sine comunică între ele exclusiv prin mesaje (de exemplu, apariția unei expresiiI + 1 face ca mesajul „+” să fie trimis la obiectul I, adică „adăugați”, cu parametrul 1, care este considerat nu un număr constant, ci și un obiect). Nu există alte structuri de control, cu excepția ramurului „operator” (de fapt o funcție care aparține unui obiect standard), în limbaj, deși pot fi modelate foarte simplu. Astăzi, VisualAge pentru Smalltalk este dezvoltat activ de IBM.