Sunteți pe pagina 1din 82

MIDPS

Lector universitar
Boleac Ruslan

Definiii
Limbaj de programare: notaie sistematic
prin care este descris un proces de calcul
n Procesul de calcul este constituit dintr-o
mulime de pai pe care o main i
execut pentru a rezolva o problem
n Limbaj main: limbajul nativ al unui
computer
n

Limbaj main
Operaii aritmetice i logice,
n Operaii de intrare-ieire
n Funcii speciale, funcii de control
n Strns legat de arhitectur
0000101011110000
0010111111111111
0010000000000101
n

Limbaj de asamblare
Atribuie nume simbolice (mnemonici)
codificrilor operaiilor mainii i locaiilor de
memorie asociate
LOAD I
ADD
J
STORE K
n

K := I + J

Niveluri ale limbajelor


Limbaje de nivel sczut (lb. main, asm)
n Limbaje de nivel nalt (C, C++, C# etc.)
n Traducerea este realizat de translatoare
(compilator, asamblor)
n Traducerea duce la scderea performanei
n Lb. nivel nalt
portabilitate
n

Paradigme de programare
Colecii individualizate de caracteristici de
evaluare i criterii de abstractizare care
determin i difereniaz clasele de
limbaje de programare
n Criterii:
n

structura

programului
noiunea de stare a execuiei
metodologia programrii

Paradigme de programare
1.
2.
3.
4.

5.

Programare nestructurat (GOTO)


Programare structurat
Programarea procedural (ALGOL60)
Programare funcional (Lisp, Miranda,
ML, Haskell)
Programare imperativ

Paradigme de programare
6.

7.
8.

9.
10.

Programare declarativ (Prolog, Haskell, SQL,


WSDL)
Programare logic (Prolog)
Programare bazat pe obiecte i orientat pe
obiecte (Smalltalk, C++, Java, C#)
Programare concurent i distribuit
Programare la nivelul bazelor de date (SQL)

Generaii de limbaje
1954-1958 Limbajele de programare de
prima generaie (FORTRAN I, ALGOL 58).
n Acestea au fcut pasul decisiv de la asm
la lb de nivel nalt.
n Rolul lor primordial a constat n
promovarea i dezvoltarea conceptelor ce
stau la baza limbajelor de programare de
nivel nalt precum i a implementrii lor.
n

Generaii de limbaje (cont.)


1959-1961 Limbaje de generaia a doua
(ALGOL60, FORTRAN II, Cobol, Lisp)
n Sunt considerate limbaje stabile, durabile,
ALGOL60 a avut o influen imens n
dezvoltarea limbajelor Pascal, PL/1,
Simula i Ada.
n

Generaii de limbaje (cont.)


n
n
n
n
n

1962-1971 Limbaje de generaia a treia (PL/1,


ALGOL68, Pascal, Simula)
au reprezentat un pas nainte,
succesul lor nu se poate compara cu cel al limbajelor de
generaia a doua.
C.A.R. Hoare ALGOL60 reprezint un pas nainte fa
de succesorii(!) si.
Limbajul PL/1 a combinat elemente de FORTRAN,
ALGOL i Cobol rezultnd un limbaj puternic, dar mult
prea complex, dificil de nvat i de implementat.
Limbajul Pascal, succes din punct de vedere didactic, nu
a fost considerat suficient de robust pentru utilizarea la
scar industrial. (Delphi)

Generaii de limbaje (cont.)


n
n

1972-1979 Limbaje de generaia a patra (CLU, CSP,


Ada, Smalltalk)
Au avut o rspndire i mai redus dect cele de
generaia a treia, justificnd pe bun dreptate denumirea
acestei perioade drept gol de generaie (generation
gap).
accentul cade pe structurare.

La nivel micro acest lucru s-a fcut prin eliminarea instruciunilor


goto
la nivel macro s-a pus mare accent pe modularizare,
abstractizarea datelor

Generaii de limbaje (cont.)


1980-1990 Paradigme ale limbajelor de
programare
n Aceast perioad se caracterizeaz printro intens activitate de cercetare,
concentrat pe studiul paradigmelor
asociate claselor de limbaje.
n limbaje funcionale, logice, orientate obiect
i distribuite
n

Istoria lb. de programare


n

Primul limbaj
Ada

Lovelace scrie programe pentru proiectul


motor diferenial al lui Charles Babbage iar
mai apoi pentru motorul analitic. n 1945,
germanul K. Zuse, inventatorul calculatorului
Z3 a definit un limbaj evoluat pentru acest
motor (folosind tablouri i nregistrri)

Istorie (cont.)
n

Asamblare
Asambloarele

au aprut o dat cu primele


calculatoare. Acestea asociaz un nume simbolic
codului la nivel main, de ex: Add bx, 4
cmp [adr], 3
jmp address

Programarea n limbaj de asamblare nu se mai


practic pe scar larg, nici mcar pentru rutine
ce trebuie s ruleze foarte rapid.

Istorie (cont.)
n

FOTRAN FORmula TRANslator


1954-1958John

Backus i ali cercettori de la

IBM
Limbaj dedicat calculelor matematice
n

Fortran II (1958) introduce subrutine,


funcii, bucle, o structur de control
primitiv de tip FOR. Identificatorii sunt
limitai la ase caractere

Istorie (cont.)
n

LISP LISt Processing


1958-1960

Mac Carthy
Limbaj funcional pentru procesarea listelor.
Este recursiv, nu este iterativ.
Nu exist diferen ntre cod i date.

Istorie (cont.)
n

ALGOL - 1960 / Algol W - 1966 / Algol 68


ALGOrithmic Language
limbaj

universal independent de main


Introduce utilizarea gramaticilor BNF (Backus Naur
Form)
blocurile de instruciuni i variabilele locale n cadrul
unui bloc
Recursivitatea, tablouri dinamice
instruciunea IF THEN ELSE, FOR, simbolul := pentru
atribuire (folosit mai apoi n Pascal), instruciunea
SWITCH cu GOTO, indicatori BEGIN, END i ciclu
WHILE

Istorie (cont.)
n

Cobol - 1960
COmmon

Business Oriented Langage.


Definit de CODASYL,
COnference on DAta SYsystems Languages.

Istorie (cont.)
n

Basic 1964
Beginners

All-purpose Symbolic Instruction Code


John Kemeny, Thomas Kurtz
Uor de nvat
Bill Gates, Paul Allen, QuickBasic Altair (4KB)
Microcomputerele au fost furnizate cu Basic n ROM
pn la sfritul anilor 80.
n 1977, Appel II se vindea cu Basic
Primul PC de la IBM (1981) folosea sistemul de
operare MS-DOS de la Microsoft i Basic interpretat
(Basica).
n 1982 Microsoft a produs primul Basic compilat
(Quick Basic)

Istorie (cont.)
n

Logo 66
W

Fuerzeig, S Papert,
Folosit pentru a-i nva pe copii programare.
Asemntor cu Lisp
Se bazeaz pe micarea unei broate
estoase pe ecran.

Istorie (cont.)
n

Pascal 1970 Niklaus Wirth.


A

fost proiectat pentru a simplifica crearea


compilatoarelor i pentru ndruma procesul de
nvare a programrii spre programarea structurat.
Includea un mediu pentru dezvoltare de aplicaii
complet, un principiu folosit cu succes mai trziu n
Turbo Pascal. n 1981, jocul Wizardry scris n Pascal
a avut un succes foarte mare pe Apple.
Turbo Pascal (proiectat de Anders Hejlsberg) a
aprut n 1983. Rapid, IDE complet -> succes
instantaneu.
Structurile de control asemntoare cu cele din C.

Istorie (cont.)
n
n
n
n
n
n
n
n
n

C 1973 succesorul lui B, care la rndul lui este


succesorul lui BCPL (Dennis Ritchie).
A fost destinat pentru programarea sistemului de
operare UNIX,
Portabil i rapid
Declaraiile int i, char b au fost create n C.
Ulterior au aprut i alte tipuri.
Limbajul C a simplificat scrierea prin folosirea acoldelor.
++ exista i n limbajul B.
Cuvntul include venea din PL/1.
Preprocesorul a fost implementat n 1973 i din acel
moment limbajul C a fost folosit pentru scrierea
sistemului de operare Unix. Limbajul a evoluat pn n
1980.

Istorie (cont.)
n

Sql - 1970+
Standard

Query Language
IBM Limbaj pentru interogarea bazelor de
date relaionale.
SELECT * from table where ...
n INSERT INTO ....
n UPDATE ...
n

Istorie (cont.)
n

C++ 1981-1986 Bjarne Stroustrup.


a limbajului C orientat pe obiecte.
Introduce suprancrcarea operatorilor.
Metodele pot fi inline.
Implementat motenirea i abloanele (clase
sau funcii generice).
Polimorfismul prin funcii virtuale
Versiune

Istorie (cont.)
n

Java 1994 James Gosling,


Sun

Microsistems Proiectat n 1991 ca un limbaj


interactiv numit Oak.
La vremea respectiv nu a avut succes.
n 1994 a fost rescris pentru Internet i redenumit
Java.
n 1995 se puteau crea applet-uri.
n ianuarie 1996, Javasoft distribui JDK 1.0.
Se compileaz n bytecode JVM.
Este mai simplu dect C++: memoria este gestionat
automat,
nu exist pointeri, motenire multipl,
suprancrcarea operatorilor dar include multi-tasking.

Istorie (cont.)
n

PHP 1995 Personal Home Pages Hypertext


Processor
Rasmus

Lerdorf Limbaj script mutliplatform, ce se


include n HTML.
Asemntor cu C dar nu este tipizat.
Variabilele se prefixeaz cu $.
Interpretorul prelucreaz pagina html ce include
instruciuni php i o transform ntr-o pagin html
pur.
Biblioteca de funcii permite crearea de pagini web
dinamice.
Microsoft folosete ASP (asemntor cu Basic)

Istorie (cont.)
n

UML - 1996 Unified Modeling Language


Standard

(Object Management Group)


Grady Booch, Jim Rumbaugh, and Ivar Jacobson
Uml reprezint reunirea a trei limbaje de modelare
proiectate de cei trei autori.
folosete o notaie grafic pentru a proiecta software.
Se fac diagrame care exprim obiecte i interaciunile
dintre acestea.
Un model este realizat din vizualizri i combinarea
lor descriu un sistem complet.
Este limbaj pentru specificarea, vizualizarea,
construirea i documentarea proiectelor sotware
intense.

Istorie (cont.)
n

C# - 2000(C-sharp), succesor al C++?


Anders Hejlsberg / Microsoft.
Principalul limbaj din platforma .NET
mbuntiri: garbage collector, nu are

pointeri,

interfee, multi-tasking
Varietate de limbaje ce pot fi compilate n MSIL
Structurile sunt speciale fiind transmise prin valoare
Identificatorii sunt obiecte cu metode
Atributele sunt obiecte descriptive ataate
elementelor programului i folosite la execuie
Proprieti (get/set)
Foreach pentru parcurgerea unor liste de obiecte
Delegai (nlocuiesc pointerii la funcii din C)

MIDPS
Ciclul de viata de creare a software-ului

Procesul de creare a soft-ului


Limbaj de programare = instrument pentru
scrierea de programe
n Limbaj de programare = component a
procesului de creare a software-ului
n Realizarea unui nou limbaj este structural
identic cu realizarea unei aplicaii
software complexe
n

Fazele procesului de creare a


software-ului
Analiza i specificarea cerinelor
n Proiectarea i specificarea softwareului
n Implementarea
n Certificarea
n ntreinerea
n

Analiza i specificarea cerinelor


n
n
n
n

O aplicaie software este conceput pentru a veni n


sprijinul unui anumit grup de utilizatori poteniali.
Cerinele - stabilite sub forma unui document ce
precizeaz CE trebuie s fac aplicaia i nu CUM.
La elaborarea documentului particip att potenialii
utilizatori, ct i specialitii n dezvoltarea de software.
Documentul conine specificaii privind manualele
utilizator, studii de cost i fezabilitate, cerine privind
performanele

Proiectarea i specificarea
software-ului
n

De la cerinele specificate n faza precedent, echipa


care realizeaz aceast etap (proiectanii software)
realizeaz specificaiile de proiectare,
Se identific

fiecare modul al sistemului,


interferenele dintre module.

Metodologia de proiectare utilizat n aceast faz are o


mare importan pentru alegerea limbajului de
programare utilizat n faza imediat urmtoare.

Implementarea
n
n

Singura faz n care se utilizeaz explicit un


limbaj de programare.
Implementarea
scrierea

de uniti de program corespunztoare


modulelor descrise n specificaiile de proiectare
editarea documentaiei corespunztoare.
n

Rezult un sistem implementat i documentat


complet.

Certificarea
n
n

n
n

Verificarea cerinelor impuse n prima etap


Se realizeaz prin testarea sistemului n raport
cu fiecare cerin specificat, utilizndu-se o
baterie de teste,
Din punctul de vedere al testrii, nu se poate
face o distincie clar ntre fazele 3 i 4.
n faza de implementare se realizeaz testarea
la nivel de modul, efectuat de fiecare
programator i parial testarea interfeelor intermodule (testare de integrare),

Certificarea (cont.)
Se realizeaz testarea sistemului, care
verific sistemul n ansamblul su.
n Rezultatul acestei faze este un sistem
verificat i certificat complet, livrabil
utilizatorilor.
n n aceast faz se includ toate activitile
care sunt legate de verificarea
corectitudinii programelor scrise
n

ntreinerea
Modificri, provocate fie de detectarea
unor erori care au scpat din faza 4,
n Adugarea de noi specificaii (cerine).
n Costul ntreinerii unei aplicaii ntrece
costul tuturor celorlalte faze luate
mpreun.
n

Cerine pentru un produs


software
Fiabilitate
n ntreinere uoar
n Execuie eficient
n

Aspecte ale calitii software-ului


Programele: fiabile, rapide, uor de
folosit, lizibile, modulare, structurate
n Calitatea produselor program se definete
ca o compunere a mai multor trsturi.
n Exist o serie de factori externi i factori
interni
n

Factori externi - interni


Factorii externi de calitatea sunt sesizai
de cei care interacioneaz direct cu
produsul final i care cumpr produsul,
contracteaz dezvoltarea i ntreinerea
lui.
n Factorii interni de calitate se pot detecta
doar de ctre persoanele implicate n
procesul de dezvoltare de software.
n

Factorii externi
Corectitudinea (abilitatea produsului de a
executa exact sarcinile sale, n
conformitate cu cerinele)
n Robusteea (abilitatea sistemului de a
funciona chiar i n condiii anormale)
n Fiabilitate = corectitudine+robustee
n

Factorii externi (cont.)


Extensibilitatea (uurina cu care
produsele software se pot adapta la
schimbri ale specificaiilor) simplitate +
descentralizare
n Reutilizabilitatea
n Compatibilitatea (uurina cu care
produsele software pot fi combinate)
n

Factorii externi (cont.)


Eficiena (folosirea raional a resurselor
hardware)
n Portabilitatea (uurina cu care se pot
transfera n diverse medii hard i soft)
n Verificabilitatea
n

Factorii externi (cont.)


Integritatea (abilitatea produselor software
de a-i proteja componentele - programe,
date, documente - fa de accesri i
modificri neautorizate)
n Uurina n utilizare (nvarea utilizrii
sistemului, operarea, pregtirea datelor de
intrare, interpretarea rezultatelor i
recuperarea din situaii de eroare)
n

Factori interni
Modularitatea: structural produsul program
trebuie s fie alctuit din module,
urmrindu-se principiul descentralizrii.
n Documentarea complet: presupune
existena unei documentaii clare i adus
la zi pentru fiecare faz din ciclul de via
al programului.
n

Caliti ale limbajelor de


programare
n

S permit o descriere ct mai natural a


problemei care se rezolv, permind
programatorului s se concentreze asupra
problemei i nu asupra detaliilor de adresare,
indexare etc.
S aib un grad de lizibilitate ct mai ridicat,
adic un program s poat fi uor de descifrat
(sintactic i semantic) de oricine l consult.
S permit gestiunea excepiilor (depiri
aritmetice, erori de intrare-ieire etc.)

Microsoft Solutions Framework


(MSF)
Un set de modele, principii i linii
directoare pentru proiectarea i
dezvoltarea aplicaiilor de dimensiuni mari
ntr-un mod care asigur faptul c toate
elementele unui proiect (oameni, procese,
unelte) pot fi gestionate corespunztor.
n Practici pentru planificarea, proiectarea,
dezvoltarea i lansarea soluiilor
n

Modele de proces
Modelul Cascad
n Modelul Spiral
n Modelul MSF
n

Modelul cascad
n
n
n

Milestone
n

Exist puncte de tranziie i evaluare


Trebuie terminat o faz nainte de a
trece la alta
Cerinele trebuie s fie definite foarte
clar
Se poate monitoriza evoluia

Milestone

Milestone

Milestone

Modelul Spiral
Se bazeaz pe rafinarea continu a
cerinelor i a diferitelor estimri asupra
proiectului
n Util la aplicaii mici ce trebuie fcute
repede
n Nu exist puncte de control foarte clare
n Procesul de dezvoltarea poate deveni
haotic
n

Modelul MSF
Bazat pe faze
n Are puncte de control i trecere
n Iterativ
n Poate fi folosit pentru dezvoltarea oricrui
tip de aplicaie
n Combinaie ntre modelul cascad i
spiral
n

Faze ale modelului de proces MSF


Envisioning
n Planning
n Developing
n Stabilizing
n Deploying
n

Triunghiul compromisurilor

Deadline

Resurse

Funcionalitate

MIDPS
Traducerea programelor

Limbaj de programare,
program surs
n

Translator = program ce traduce un


program surs (PS), scris ntr-un anumit
limbaj de programare (LP) ntr-un program
echivalent exprimat ntr-un alt limbaj, pe
care l vom numi program destinaie (PD).

Translatoare
Compilatoarele,
n Asambloarele
n Interpretoarele
n

Compilatoare - asambloare
La compilator PD se numete program
obiect sau cod obiect (apropiat de codul
main)
n Asamblorul este compilatorul unui limbaj
de asamblare
n Traducerea este urmat de link-editare
n

Link-editarea
n

Faz n care se produce codul executabil


prin legarea codului obiect (rezultat din
traducere) cu alte module obiect (rezultate
din compilri anterioare sau existente n
biblioteci).

Interpretor
n

Realizeaz execuia instruciune cu


instruciune a programului surs

Preprocesor - macroprocesor
Traduc PS din limbaje de nivel nalt n PD
scrise tot n limbaje de nivel nalt,
compilabile.
n De ex. preprocesorul C #include...
n

Cross-compilatoarele
Cross-asambloarele
Se execut pe un calculator gazd i
genereaz cod obiect pentru o alt main
obiect
n Exemplu - maina gazd minicalculator
sau calculator mare, iar maina obiect
este un microcalculator cu memorie mic,
pe care nu se poate implementa
programul de traducere)
n

Compilarea
Compilatorul este un program complex, a
crui realizare presupune abordarea
sistematic a procesului de traducere.
n n procesul de compilare, PS sufer un ir
de transformri n cascad, din ce n ce
mai apropiate de codul obiect
n

Operaii ale compilatorului


Analiza textului surs
n Sinteza codului obiect
n

10

Structura unui compilator


ANALIZ
Program
surs

SINTEZ

ir de atomi
lexicali

Analiz
lexical

Arbore
sintactic

Analiz
sintactic

Tratarea erorilor

Cod
intermediar

Analiz
semantic

Cod intermediar
optimizat

Optimizare
de cod

Generare
de cod

Cod obiect

Gestiunea tabelelor

11

Analiza lexical
n

Realizeaz prima parcurgere a PS


(considerat ca ir de caractere), grupnd
aceste caractere n sub-iruri, numite
atomi lexicali: cuvinte cheie sau rezervate,
operatori, constante, identificatori,
separatori.

12

Analiza sintactic
n

Depisteaz n irul atomilor lexicali


structuri sintactice: expresii, liste,
instruciuni, proceduri, genernd arborele
sintactic (arborele de derivare), care
descrie relaiile dintre aceste structuri (de
incluziune, de separare).

13

Analiza semantic
n

folosete arborele sintactic pentru extragerea de


informaii privind apariiile obiectelor purttoare de date
din PS (tipuri de date, variabile, proceduri, funcii) i
pentru verificarea consistenei utilizrii lor.
Pe msura parcurgerii arborelui sintactic, se genereaz
codul intermediar (ir de instruciuni simple, cu format
fix, n care: codurile operaiilor sunt asemntoare cu
codurile main corespunztoare, ordinea operaiilor
respect ordinea execuiei, iar operanzii sunt
reprezentai sub forma variabilelor din PS i nu sub
form de registre sau adrese de memorie.
14

Optimizarea codului intermediar


n

are ca obiectiv eliminarea redundanelor, a


calculelor inutile, pentru o execuie eficient a
codului obiect.
Pentru realizarea se ncearc:
Realizarea

tuturor calculelor posibile nc din faza de


compilare (de exemplu n expresii cu operanzi
constante)
Eliminarea subexpresiilor comune (prin evaluarea lor
o singur dat)
Factorizarea invariaiilor din cicluri.

15

Generarea programului obiect


n

Const n alocarea de locaii de memorie i registre ale


unitii centrale pentru variabilele programului i
nlocuirea codurilor de operaii din codul intermediar cu
cele main.
Codul obiect rezultat poate fi:

absolut (direct executabil)


relocabil (care va face obiectul editrii de legturi, unde va fi
legat de alte module obiect
n limbaj de asamblare, lucru ce asigur un efort mic de
implementare a generatorului de cod.
n alt limbaj de programare, n cazul preprocesoarelor.

16

Modulul de tratare a erorilor


n

Proceduri care sunt activate la detectarea


erorilor n timpul operaiilor de analiz.
Traducerea

se continu cu ignorarea
elementului ce conine eroarea;
Se ncearc corectarea erorii
Se abandoneaz procesul de traducere.

17

Modulul de tratare a erorilor


n

Dup momentul n care apar avem erori


lexicale,
sintactice
semantice.

Dup gravitatea erorilor:


avertismente (de obicei omisiuni de programare),
erori care se pot corecta de ctre un compilator mai

inteligent
erori fatale, care provoac abandonarea procesului
de compilare.

18

Gestionarul de tabele
n

Colecie de proceduri care realizeaz crearea i


actualizarea bazei de date a compilatorului, care
conine dou categorii de informaii:
proprii

compilatorului (generate la implementare i


constituite din mecanismele de descriere a analizei
lexicale, sintactice i semantice)
caracteristice programului surs (identificatori,
constante, cuvinte cheie), care de obicei se
memoreaz ntr-o tabel de simboluri.

19

Gestionarul de tabele
n

La ntlnirea unui nume nou, acesta este


introdus n tabela de simboluri, reinndu-se
adresa intrrii.
Ori de cte ori numele este referit, informaia
prezent n tabel este actualizat cu informaii
sau atribute noi ale numelui respectiv,
verificndu-se totodat consistena utilizrii
acestuia (analiza semantic).
La generare de cod, atributele numelui
determin lungimea zonei de memorie alocat
acestuia. Atributele numelui pot servi i n faza
de tratare a erorilor.
20

Uniti de program
n

Structura general a unui program scris


ntr-un limbaj de programare convenional
(imperativ, dirijat de control)
Program

principal
Unul sau mai multor subprograme
n

Comunicarea prin:
Parametri,
n Variabile globale.
n

21

Program - subprogram
n

2 pri
partea
n

de declaraii (instr. neexecutabile )

informaii descriptive adresate compilatorului


atribute ale zonelor de date cum ar fi tipul,
dimensiunea de reprezentare,
valori iniiale

imperativ (instruciunile ce se vor


executa)

partea

22

Compilare separat
Posibil datorit modularizrii programelor
n Fiecare modul are un rol bine precizat
n La modificarea unui modul nu trebuie
recompilat tot programul.
n Combinarea modulelor o face link-editorul
n Rezultatul = economie de timp
n Demonstraie n C (cuv. cheie extern)
n

23

Link-editarea
n

Link-editorul sau editorul de legturi este o


component a mediului pentru dezv. de
aplicaii care grupeaz unul sau mai multe
module obiect, rezultate din compilare sau
asamblare, mpreun cu cod din biblioteci,
ntr-un program executabil.

24

Execuia programelor
n

operare la nivelul liniei de comand: se introduc


pe rnd comenzile de compilare, link-editare i
lansare n execuie;
asistat de un mediu de programare: comenzile
de mai sus sunt lansate i executate din
interiorul unui astfel de mediu;
sistem batch (prelucrare n loturi): scrierea unor
fiiere de comenzi care vor automatiza
nlnuirea fazelor de la punctul 1.
25

Medii de programare i execuie


n

Sisteme complexe destinate activitii de


dezvoltare de programe
editor de texte
compilator interactiv
editor de legturi
interpretor pentru execuia

rezultatului compilrii
(numit i mediu de execuie runtime environment),
depanator simbolic
componente de legtur cu mediul exterior (de regul
cu sistemul de operare cu care lucreaz

27

Medii de programare
Visual Studio de la Microsoft,
n Builder de la Borland
n Eclipse
n ZEND Studio (PHP)
n

28

Interpretarea
Interpretorul este un program care execut
pas cu pas instruciunile descrise ntr-un
limbaj
n Viteza de interpretare este mult mai mic
dect codului compilat
n Mult mai simplu de implementat
n

29

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