Sunteți pe pagina 1din 15

Bibliografie

Ghid teoretic i practic (conine lucrrile de


laborator, temele i explicaii teoretice)

Bruce Eckel, Thinking in C++, Prentice Hall


2000 (gratuit pe www)

Bjarne Stroustrup, The C++ Programming

Language, 3rd ed.


Addison-Wesley, 1997

Ioan Salomie, Tehnici de programare


obiectual, ed. Albastr, 1996

Introducere n limbaje de programare


Definirea limbajelor

Clasificarea limbajelor
Clasificarea general a limbajelor
Clasificare dup nivelul de
abstractizare
Paradigmele limbajelor de
programare

Istoric

Definirea limbajelor (I)


Limba (DEX):
sistem de comunicare alctuit din sunete articulate,
specifice omului prin care acesta i exprim gndurile
sau dorinele

Limbaj de programare:
Notaie sistematic prin care se descrie un proces de
calcul

Punte de vedere n activitatea de programare:


Logic, al problemei
Fizic, al implementrii

Definirea limbajelor (II)


Universul limbajelor de
programare
Universul Universul
problemei calculatorului
Simulare

Elaborare
program

Compilare

Universul limbajului
de programare

Definirea limbajelor (III)


Aspecte caracteristice:
Sintaxa
Ansamblul regulilor prin care pornind de la simboluri de
baz se construiesc structuri compuse
Gramatica: mulimea regulilor sintactice

Semantica
Sensul construciilor sintactice
Set de reguli ce determin semnificaia propoziiilor
limbajului

Pragmatica
Capacitatea de a utiliza construciile sintactice i
semantice

Clasificarea general a limbajelor


Limbaje naturale: lb. Romn, lb.
Englez

Limbaje
artificiale:
Jargoane profesionale

Limbaje de comunicare ntre dispozitive: protocoale


(TCP/IP, XML)
Limbaje de programare: comunicare ntre om i calculator

Clasificarea din perspectiva abstractizrii


Limbaje de nivel inferior
Cod main, asamblare
Specifice pe calculator, portabilitate
sczut

Limbaje3,de
nivel
superior
Generaiile
4, 5
de limbaje
de
programare
Productivitate ridicat a muncii de
programare

Traducerea
Compilatoa
limbajelor

re
Interpretoa
re
Traducere in 2 faze

Cod masina

Limbaj de nivel
superior

Limbaj de
asamblare

Compilator
Interpretor

asamblor
Microprocesor

Clasificare prin prisma paradigmelor


Paradigm:
Modelul sau arhetipul unui proces sau sistem
Colecii de caracteristici de evaluare i criterii de
abstractizare

Paradigma programrii procedurale i structurate


Paradigma programrii modulare
Paradigma programrii obiectuale Paradigma
programrii funcionale i logice Programarea
concurent i distribuit
Alte paradigme

Programarea procedural i structurat


Limbajele pot fi procedurale sau neprocedurale
Utilizatorul descrie pas cu pas algoritmul de
rezolvare Unitatea de baz: procedura sau
funcia
Principiul programrii structurate:
Orice procedur poate fi reprezentat prin cele 3
structuri fundamentale din algoritmic:

Structura liniar,
Structura ramificat i
Structura repetitiv

Algol60, Pascal, C, PL/1, Ada

Programarea modular
Programul se descompune n module Modulele
sunt independente, atomice Principul de baz:
ncapsularea
Modulul are 2 componente: interfaa i
implementarea
Modula i Ada

Programarea obiectual
Obiect: entitate care conine informaie i
comportament Orice entitate din lumea real
poate fi considerat obiect Programul: ansamblu de
obiecte n interaciune
Principii de baz:
ncapsulare

Obiectele au structur i stare

Comunicare prin mesaje


Reutilizarea codului:

se permit compoziie i generalizare/specializare

Polimorfism

Un nume poate fi utilizat cu nelesuri diferite

Smalltalk, C++, Java

Programarea funcional
Programul este un ansamblu de funcii Apeluri
recursive
Funciile sunt folosite la descrierea datelor i
codului Nu au instruciuni de atribuire
Fundament matematic: expresiile lambda
Lisp, ML

Programarea logic
Program: fapte i reguli Limbaje declarative
Se indic modul cum trebuie s arate soluia
problemei Fundament matematic: sistemele logice
formale
Logica predicatelor de ordinul 1
Logici modale, temporale sau monotonice

Constituie baza motoarelor de inferen n sisteme


expert
Prolog

Alte paradigme
Programare la nivelul bazelor de date
SQL, dBase, FoxPro

Programarea vizual (RAD)


Limbaje bazate pe marcatori pentru
structurarea informaiei
Programarea bazat pe ageni
Limbaje specifice: Telescript, Agents, AgentTcl
Platforme multi-agent (bazate pe tehnologie
obiectual)

FIPA-OS, Jade, IBM Aglets

Puncte importante n evoluia limbajelor


Anii 1940: arhitectura von Neumann
Anii 1950: Fortran (IBM) Anii 1960: Algol60, Cobol
Anii 1970: Pascal, Simula, C, Smalltalk, Ada
Anii 1980: Prolog, C++, standardizarea limbajelor
Anii 1990: Java, traducere n 2 faze, UML:
standardizarea activitii industriei software

S-ar putea să vă placă și