Sunteți pe pagina 1din 25

CURS 11: Limbaje de programare

CURS 11 LIMBAJE DE PROGRAMARE

CURS 11: Limbaje de programare Limbaje de programare = un set de simboluri si instructiuni scrise intr-un program pentru realizarea unei comunicri ntre programator i calculator Limbajele folosite pentru programarea unui calculator sunt extrem de asemntoare limbajelor naturale . Ele sunt compuse din : cuvinte (rezervate) ; punctuaie ;

propoziii i fraze ;
reguli sintactice etc .
2

CURS 11: Limbaje de programare

Evolutia limbajelor de programare Limbaj main (prima generaie) Limbaj de asamblare (generaia a doua) Limbaje procedurale (generaia a treia) Limbaje neprocedurale (generaia a patra) Limbaje de Programare Naturale (generaia a cincea)

CURS 11: Limbaje de programare

Limbaje de programare Limbaj main (prima generaie) Limbajul matern al computerului Compus din bii (0 i 1) Singurul limbaj neles de CPU Limbaj de asamblare (generaia a doua) Coresponden biunivoc n cod main Mai prietenos Assembler program ce traduce limbajul de asamblare n cod main

CURS 11: Limbaje de programare

Limbaje procedurale (a treia generaie) O instruciune se traduce n multe instruciuni de cod main Programele descriu funcionarea calculatorului pas cu pas Mai apropiate de limbajul natural; utilizeaz cuvinte cheie Exemple: Cobol, C, Fortran, QuickBasic, Pascal Compilator - traduce ntregul program Interpretor - traduce i execut un program surs instruciune cu instruciune (Basic) Se mai numesc limbaje de nivel nalt
5

CURS 11: Limbaje de programare

Limbaje neprocedurale (a patra generaie) Permit specificarea rezultatului dorit fr detalii privind procedurile necesare Exist diverse categorii, dup domeniul de utilizare: Visual (n medii grafice) HTML (Hypertext Markup Language) n www XML (Extensible Markup Language) n web doc VRML (Virtual Reality Modeling) obiecte 3D OOP (Object Oriented Programming) C++, Java Limbaje de Programare Naturale (a cincea generaie) Limbaje inteligente Traduc limbajul natural direct n structuri de cod-main Sunt extrem de complexe i deocamdat experimentale
6

CURS 11: Limbaje de programare

NIVELE ALE LIMBAJELOR DE PROGRAMARE Nivelul unui limbaj este apreciat prin poziia pe care o ocup pe scara constituit de limbajul recunoscut de microprocesor ( limbaj main ) i limbajul natural al programatorului ( limba romn , limba englez ) . Un limbaj de nivel sczut este foarte apropiat de main , el manipuleaz cu elemente de nivel hardware, fizic, cum ar fi : registru, microprocesor, locaie de memorie, port de intrare / ieire etc . Un limbaj de nivel nalt sau foarte nalt manipuleaz cu concepte apropiate de limbajul natural , concepte de nivel logic, cum ar fi : colecie de date, nume de operaie ( SORT, WRITELN, OPEN ), variabile, constante (asemntoare ca neles cu cele din matematic). Un limbaj neorientat este utilizat pentru a rezolva orice tip de problema
7

CURS 11: Limbaje de programare


Limbaje neorientate de nivel nalt : BASIC

A fost creat n 1964 la Darmooth College (S.U.A.) . Denumirea sa provine de la iniialele cuvintelor Beginners All purpose Symbolic Instruction Code (Cod de instruciuni simbolice, de uz general, destinat nceptorilor ) . Are urmtoarele avantaje : simplu de nvat ; instruciunile sale sunt cuvinte din limba englez sau prescurtri ale acestora ; neorientat pe un anumit tip de problem ; permite construirea de aplicaii ; este un limbaj nestructurat, ceea ce i permite s fie uor nvat .

CURS 11: Limbaje de programare


Dezavantaje Lent Programele scrise n Visual Basic n general ruleaz mult mai ncet dect programele echivalente n C/C++. Dac viteza este o condiie important pentru program, Visual Basic nu este o alegere potrivit Claritate redus Datorit sintaxei limbajului, programele de mari dimensiuni devin greu de citit i neles Inflexibil Visual Basic este uor de nvat, ns ascunde detaliile tehnice ale programrii. n acelai timp, mpiedic programatorul s controleze total calculatorul, ceea ce limiteaz puterea programelor Portabilitate limitat Visual Basic ruleaz numai pe platforme Windows Din cauz c a cunoscut o larg rspndire , au fost implementate noi versiuni 9 de Basic : GW-BASIC , QUICK BASIC , TURBO BASIC , VISUAL BASIC ( Basic for Windows ) .

CURS 11: Limbaje de programare

FORTRAN Limbajul Fortran este decanul de vrst al limbajelor de larg folosin . A aprut n 1956 i i datoreaz numele prescurtrii cuvintelor : FORmula TRANslation ( Traducere de formule ). Iniial reprezenta un limbaj orientat pe calcule tiinifice avnd definite concepte precum : matrice, funcii trigonometrice, numere reale n dubl precizie . Versiunile ulterioare care au cunoscut o mare popularitate au extins posibilitile limbajului trasformndu-l ntr-un limbaj eficient, de uz general . n prezent exist pentru IBM-PC dou implementri mai importante ale limbajului : Microsoft Fortran, Fortran for Windows . Dei nu poate fi considerat depit din punct de vedere conceptual ( este un limbaj algoritmic structurat ) este neindicat folosirea lui datorit absenei unor medii de programare performante i pentru c tendina actual i este defavorabil .
10

CURS 11: Limbaje de programare

PASCAL Conceput n anul 1970 de ctre Niklaus Wirth, limbajul PASCAL poart numele matematicianului i filosofului BLAISE PASCAL, n semn de recunoatere a meritelor sale n teoretizarea mainilor de calcul. Creat dup acumularea de cunotiine temeinice n tiina limbajelor formale, din confruntarea cu probleme concrete ale programrii, limbajul PASCAL a constituit la vremea respectiv un limbaj modern, meninndu-se ca atare i n prezent, datorit faptului c posed o solid baz conceptual . Limbajul PASCAL a introdus n versiunea sa iniial noiunea de programare structurat i ulterior noiunile de date ( structuri ) dinamice, date (structuri ) definite de utilizator .

11

CURS 11: Limbaje de programare

n prezent standardul implementrilor PASCAL cuprinde urmtoarele elemente : programare structurat de tip algoritmic ; definirea de noi funcii sau proceduri ; tipuri de date definibile de ctre utilizator ; structuri de date dinamice ; adresri indirecte ale datelor ; recursivitate ; rutine complete de intrare / ieire ; funcii de conversie a datelor din ASCII n format intern i invers ; set complet de funcii matematice ; funcii elementare de grafic 2D ; posibilitatea inserrii direct n surs a instruciunilor n limbaj de asamblare ; Versiunile standard ale implementrilor PASCAL sunt cele oferite de Microsoft i Borland, cu avantaj pentru cele din urm ( TURBO PASCAL 5.0,TP5.5, BORLAND PASCAL 7.0 ) datorit mediului de lucru performant. Combinaia PASCAL + TURBO a reprezentat un succes imens n rndul programatorilor avnd ca singur rival cealalt combinaie : C+TURBO .
12

CURS 11: Limbaje de programare

Limbajul C Acest limbaj de programare, cu cel mai scurt nume, a fost creat n 1971 de ctre Dennis Ritchie i Brian Kernigham pentru dezvoltarea sistemului de operare UNIX . Principalele caracteristici ale limbajului sunt : limbaj structurat de nivel nalt ; posed concepte de nivel sczut, ceea ce permite exploatarea portabil a caracteristicilor intime unei maini ; rutine de conversie a datelor foarte evoluate ; tipuri de date definibile de ctre utilizator ; gestionarea elaborat a datelor de tip dinamic ; definirea de noi funcii ; adresri indirecte ale datelor, variabilelor ( pointer-i ) ; recursivitate ; set complet de funcii matematice ; funcii pentru realizarea de grafic elementar 2D; funcii de apel servicii DOS ; posibilitatea definirii de overlay-uri pentru un program ; 13 concizie deosebit a limbajului .

CURS 11: Limbaje de programare

Pentru versiunile standard ale implementrilor limbajului C exist medii de programare de tip TURBO ce aparin firmelor : Microsoft produsul QUICK C i firmei Borland produsele TURBO C .

14

CURS 11: Limbaje de programare

Avantaje Eficien Se pot crea programe mai rapide i cu dimensiuni mai mici dect aproape orice alt limbaj de programare, cu excepia limbajului de asamblare Portabilitate Un program scris n C poate fi uor copiat i compilat pe alt calculator, cu unele modificri Flexibilitate Pentru un programator experimentat, conversia liber a tipurilor de date este un avantaj. Pentru nceptori, totui, acest lucru poate genera confuzie i erori Numr mare de programatori Acest limbaj este cunoscut de foarte muli programatori, care ar putea modifica mai trziu un program existent 15

CURS 11: Limbaje de programare

Dezavantaje Dificil de stpnit C este unul din cele mai dificile limbaje de programare. n timpul necesar nvrii complete a C, un program poate fi deja terminat n alt limbaj Complexitate C are puterea de a manipula direct memoria i hardware-ul calculatorului Acest lucru sporete ansele apariiei unei erori i timpul necesar pentru depanare Dificil de citit i neles Programele sunt create o dat i modificate de multe alte ori Datorit naturii criptice a C, nelegerea unui program poate ridica probleme

16

CURS 11: Limbaje de programare


Java Limbajul Java este rezultatul Stealth Project al Sun Microsystem, care avea ca scop cercetarea n domeniul aplicabilitii calculatoarelor pe piaa produselor electronice n vederea crerii de produse electronice inteligente care s poat fi controlate i programate centralizat, printr-un dispozitiv asemntor cu o telecomand.Dei proiectat iniial n alte scopuri, Java s-a potrivit perfect aplicaiilor world-wide-web. Sun a prezentat formal Java n 1995. n curnd, Netscape Inc. a anunat c va ncorpora suport pentru Java n browser-ul lor. Mai trziu, i Microsoft a fcut acelai lucru, ntrind rolul limbajului Java n zona Internet. Java aparine unei noi generaii de limbaje de programare, care i-a ctigat n ultima perioad o mare popularitate. n Java se pot crea programe complexe sau mini-programe (applet-uri) care s ruleze pe Internet.

17

CURS 11: Limbaje de programare


Avantaje Portabilitate deplin Orice program scris n Java poate rula (teoretic) pe toate sistemele de operare importante (Windows, Linux, Macintosh) fr modificri suplimentare Siguran Java a preluat trsturile pozitive ale C/C++ i a evitat multe din neajunsuri. Neavnd pointeri, programele Java au mai puine anse de eroare la accesarea memoriei Bazat pe C/C++ Deoarece Java e derivat din C/C++, oricine tie C/C++ poate nva rapid Java Dezavantaje Lent i mai puin eficient Deoarece este un limbaj interpretat de ctre maina virtual, programele Java ruleaz mai lent dect programele echivalente n cod nativ

18

CURS 11: Limbaje de programare

Limbaje orientate pe gestiunea bazelor de date Necesitile actuale n practica utilizrii calculatoarelor se ndreapt cu precdere spre gestionarea bazelor de date de mari dimensiuni . Un sistem de gestionare a bazelor de date ( S.G.B.D.) de tip clasic opereaz cu urmtorii termeni fundamentali : cmp o locaie n care se poate memora o informaie bine determinat ; nregistrare mai multe cmpuri alctuiesc mpreun o nregistrare ; baza de date colecie de nregistrri . datele pot fi organizate alfabetic, cronologic sau dupa diverse nivele usor de utilizat dar necesita un timp mare de modificare datorita dimensiunii fisierelor Deci , datele sunt gestionate prin intermediul unei structuri, organizat ierarhic la un nivel de organizare logic .
19

CURS 11: Limbaje de programare

COBOL A fost creat n 1950 i reprezenta singura posibilitate de gestionare a unei baze de date . Reprezint n primul rnd un limbaj de programare special conceput pentru informatica de gestiune . Dac facem o comparaie, sugestiv, COBOL este echivalentul FORTRAN-ului pentru sistemele de gestiune a bazelor de date ( din punct de vedere istoric i al performanelor ) . Limbajul este considerat greoi i inflexibil, iar pentru crearea unui program foarte simplu e nevoie de scrierea unui adevrat eseu . Singurul avantaj real al COBOL-ului este portabilitatea sa ridicat . FOXBASE Sistemul dBASE a incintat firmele productoare de soft, datorit popularitii sale i pe de alt parte a calitilor sczute ale implementrilor originale furnizate de firma Ashton-Tate . Au aprut noi implementri ale limbajului care au ncercat s furnizeze unelte profesionale pe baza acestui suport conceptual. Versiunile FOXBASE 2.10 i FOXBASE PRO se constitue n medii performante att pentru programatori ct i pentru utilizatori . 20

CURS 11: Limbaje de programare


Baze de date relationale Diferena esenial const n definirea unui nivel logic suplimentar ntre datele gestionate . Acestea nu mai sunt privite ca simple fiiere izolate ntre ele ci pot fi analizate pe baza legturilor ( relaiilor ) ce exist ntre ele . Noiunile cu care opereaz un S.G.B.D. relaional sunt urmtoarele : tabel structur fundamental de depozitare a datelor ; linie n tabel echivalentul unei nregistrri clasice ; coloan n tabel echivalentul unui cmp de tip clasic ; baz de date o colecie de tabele , conectate prin valorile anumitor coloane (cheie unica). Pentru aceasta exist definit ( i impus ca standard unanim recunoscut ) Limbajul de interogare SQL ( Structured Query Language limbaj de cereri structurate ) care a fost definit pentru a realiza legaturile intre bazele de date. Prin intermediul su sunt permise urmtoarele operaii : regsire date ( conexate logic ) ce ndeplinesc o anumit condiie ; definire ordine de returnare a datelor ; redefinire conectri logice ale datelor, exploatare, programare .

21

CURS 11: Limbaje de programare


ORACLE Este cel mai performant S.G.B.D. disponibil la momentul actual : este un mediu de tip relaional ORACLE este gndit ca un sistem exhaustiv pentru rezolvarea problemelor de utilizare sau programare limbajul intern folosit este SQL Plus i este permis conectarea cu alte limbaje externe evoluate ( orientate ctre C ) .

Avantaje :
vitez de lucru foarte bun ; exploatare interactiv la nivel SQL ; limitri de lucru greu sau imposibil de atins ( maxim 65535 caractere ntr-un cmp, numr nelimitat de cmpuri, de nregistrri ) ; exploatare eficient a spaiului pe disc (memorarea cmpurilor n format variabil ) . Oracle este implementat pe majoritatea tipurilor de computere mari, ceea ce 22 ofer portabilitatea aplicaiilor, dar mai ales posibilitatea conectrii la calculatoare puternice .

CURS 11: Limbaje de programare


Software orientate pe calcul matematic simbolic Specialitii din domeniul cercetrii matematice au la dispoziie unelte de lucru extrem de utile pentru eliminarea calculului matematic. n acest scop au fost create limbaje de programare care pot recunoate i rezolva formule sau ecuaii matematice complexe . Expresiile manevrate pot conine operaii algebrice elementare, operatori de derivare, de integrare, operatori difereniali care sunt recunoscui de sistem ca atare. n plus sunt oferite instruciuni absolut necesare pentru a controla un program . Cele mai importante produse de acest gen sunt REDUCE , SYMNON , MATHCAD , MATHEMATICA , MATHLAB .

23

CURS 11: Limbaje de programare

Comparaie ntre limbajele de nivel nalt (procedurale)...

24

CURS 11: Limbaje de programare


S considerm implementarea unui algoritm de cutare a maximului dintr-un ir de numere n timpul introducerii irului respectiv C Basic

Pascal

25