Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Evolutia limbajelor de programare

Informatica


Evolutia limbajelor de programare

Rezumat- se prezinta necesitatea limbajelor de programare, evolutia lor, generatiile de limbaje de programare, definirea si construirea unui limbaj de programare, clasificarea limbajelor dupa diverse criterii si selectarea limbajului potrivit tipului de problema de rezolvat.



Un limbaj de programare permite descrierea unui proces de calcul alcatuit din mai multi pasi pentru rezolvarea unei probleme, fiecare pas fiind exprimat în comenzi elementare (instructiuni) ce vor fi executate de calculator.

1.1. Limbaje în cod masina 151e47b

Un calculator poate executa orice program descris în limbajul propriu, numit limbaj-masina. Limbajele în cod-masina constituie prima generatie de limbaje de programare,.sunt bazate pe sistemul binar si difera de la un calculator la altul. Fiecare instructiune în aceste limbaje este o succesiune de cifre binare.

Limbajele în cod masina 151e47b au urmatoarele dezavantaje:

necesitatea descompunerii problemei de rezolvat în operatii elementare pe

care le poate executa calculatorul respectiv, cu specificarea codului numeric

pentru instructiuni, date si adrese de memorie;

lizibilitate scazuta si o rata mare a erorilor;

dependenta de un anumit tip de calculator;

dimensiune mare a programelor;

productivitate mica in activitatea de programare.

Având în vedere aceste dezavantaje, s-a impus crearea unor limbaje artifciale care sa permita descrierea modului de rezolvare a problemei într-o maniera apropiata de limbajul matematic sau economic sau chiar limbajul natural, care sa necesite un efort minim din partea programatorilor si sa poata fi executate pe orice tip de calculator.

1.2. Limbaje de asamblare

Pentru îndeplinirea unor deziderate mai sus mentionate, urmatoarea etapa dupa limbajele cod masina o constituie aparitia limbajelor de asamblare care constituie a doua generatie de limbaje de programare. Acestea necesita o cunoastere aprofundata a calculatorului si a sistemului de operare deoarece înlocuiesc codurile numerice ale instructiunilor si operanzilor cu coduri mnemonice. Instructiunile difera de la un calculator la altul în functie de hard-ul disponibil. Desi programarea în limbaje de asamblare este mai usoara decât în cod-masina, exista si aici urmatoarele dezavantaje:

programele rezultate nu sunt potabile (un program scris într-un limbaj de

asamblare la un calculator nu poate fi utilizat la un calculator de alt tip);

formatul instructiunilor este diferit de cel utilizat în limbajul natural, fapt ce

îngreuneaza întelegerea textului sursa;

programele rezultate au dimensiune mare si productivitatea este scazuta.

Pentru a putea fi executate pe calculator, programele scrise în aceste limbaje trebuie mai întâi traduse în limbaj masina, lucru ce este realizat prin intermediul unui program traducator specific limbajului utilizat, program numit asamblor.

1.3. Limbaje de nivel înalt

Cercetarile efectuate pentru elaborarea unor limbaje mai apropiate de limbajul natural au condus la crearea limbajelor de nivel înalt (high level programming languages) în care un program difera foarte putin de la un calculator la altul, fiind însa necesara prezenta unui program numit compilator care sa traduca programul în instructiuni cod masina 151e47b .

Aceste limbaje constituie generatia a treia de limbaje de programare, primul limbaj de acest gen fiind limbajul Fortran (FORmula TRANslator) elaborat în 1954 sub conducerea lui John Backus.

Limbajele din generatia a treia se caracterizeaza prin [5]:

- au un vocabular format din simboluri, cuvinte, fraze etc.;

- opereaza asupra unor concepte de nivel logic (fisier, variabile, constante,

operatii de prelucrare etc.) spre deosebire de limbajul-masina care opereaza cu

elemente de nivel fizic (registru, locasie de memorie, port de intrare etc.);

- se bazeaza pe engleza structurata, apropiindu-se de limbajul utilizat in diferite

domenii;

- programele sunt mult mai usor de scris si citit, creste productivitatea si se

reduc erorile de programare;

- dispun, in general, de biblioteci speciale;

- sunt, in general, limbaje procedurale (urmaresc, pas cu pas, procedura de

rezolvare a problemei);

- sunt orientate spre problema iar programele rezultate sunt portabile (pot fi

rulate pe orice tip de calculator, indiferent de tipul de microprocesor sau de

sistemul de operare cu care acesta este dotat, fiind necesara doar prezenta

compilatorului aferent).

Aceste limbaje au dominat mai bine de 30 de ani piata limbajelor de programare. Desi exista mii de astfel de limbaje, o clasificare simplificata ar putea fi urmatoarea [5]:

limbaje pentru calcule stiintifice: Fortran si ALGOL (ALGOrithmical Language);

limbaje comerciale: COBOL (COmmon Busines Oriented Language) si RPG

(Report Program Generator);

limbaje pentru aplicatii speciale:

a) pentru simulare: Simula, GPSS, GPS;

b) pentru aplicatii militare în timp real: Ada;

c) pentru programarea robotilor si a masinilor unelte: FORTH;

d) pentru rezolvarea problemelor de timp real: RTL/2, IRTB. Modula;

e) pentru programare obiectuala: Smalltalk;

4) limbaje pentru destinatii multiple:

a) pentru instruire: Basic (Beginners All purpose Symbolic Instruction Code),

Pascal;

b) derivate din sisteme de operare: C, C++, B, BCPL;

c) pentru programare functionala: Lisp (LISt Processing), APL (A

Programming Language), ML (Mathematical Language).

Limbajele din generatia a 4-a au aparut odata cu dezvoltarea sistemelor de baze de date (SGBD-uri). Aceste limbaje se mai numesc si generatoare de aplicatii si sunt preferate de catre neinformaticieni. Principalele caracteristici ale acestor limbaje sunt:

- o interfata prin instructiuni precum si prin meniuri s.a.;



- caracterul neprocedural (utilzatorul trebuie sa indice sistemului ce anume doreste sa faca si nu cum sa procedeze, sistemul rezolvând aceste probleme);

- usurinta cu care se pot învata si manevra;

- independenta datelor de progamele de apicatii care le utilizeaza.

Dintre limbajele din generata a 4-a fac parte limbajele din familia dBASE (dBASE, FoxBase, FoxPro), Paradox, Clipper, SQL (Structured Query Language), QBE (Query By Example), DB2 etc.

Limbajele de generata a 5-a se utilizeaza pentru rezolvarea unor probleme de programare logica. Cel mai reprezentativ limbaj al acestei generatii este PROLOG.

O alta clasificare a limbajelor de programare se poate face [5] dupa modul si nivelul de abstractizare, metodologiea programarii, structura programului etc. :

I)           limbaje pentru programarea modulara si structurata: Fortran, ALGOL, COBOL,

Pascal, C;

II) limbaje pentru programarea orientata pe obiecte: Smalltalk, Java, Python, Eiffel;

II)        limbaje pentru programarea concurenta si distribuita: Concurent Pascal, CSP,

Ada, Linda, Orca;

IV) limbaje pentru programarea functionala: Lisp, ML, Caml, Miranda, APL;

V) limbaje pentru programarea logica: Prolog, Datalog.

VI)      limbaje pentru programarea la nivelul BD: limbajele incorporate in SGBD-urile

respective, SQL, QBE;

VII) limbaje pentru programarea vizuala: Visual Basic, Visual C++, Visual FoxPro

Clasele rezultate nu sunt disjuncte, unele limbaje regasindu-se în cadrul a mai multor clase. Astfel, Java este atât un limbaj pentru programare orientata pe obiecte, cât si pentru programarea concurenta si distribuita dar si vizuala.

Activitati necesare la elaborarea si executia programelor:

- scrierea programului sau codificarea (rezulta programul sursa sau codul sursa);

- încarcarea în memorie si salvarea pe disc;

- compilarea (rezulta module obiect);

- editarea de legaturi (rezulta program executabil);

- depanarea;

- executia.

- întretinerea

Pentru redactarea unui program (tastarea instructiunilor) se utilizeaza un editor de texte.

Având în vedere ca de la operatia de redactare a programului si pâna la executia sa se parcurg o serie de activitati mentionate mai sus, s-au creat asanumitele medii de programare care contin instrumente (utilitare) pentru fiecare etapa (începând cu editoare de texte proprii si terminand cu comenzi pentru executia programului).

Un salt important în activitatea de programare o constituie trecerea de la programarea procedurala (monolitica), în care un program este o secventa de instructiuni, la programarea visuala si orientata obiect care permite generarea unui program si a unor interfete utilizator prietenoase prin combinarea (manipularea) unor obiecte predefinite sau definite de utilizator si atasare de cod corespunzator.

Astfel s-au estompat barierele dintre teoria si practica programarii, urmarindu-se simplificarea la maximum a programarii si, dupa posibilitati, transferarea acesteia catre calulator. Odata cu aparitia produselor CASE (Computer Added Software Engineering) se poate spune ca programarea a trecut în faza de productie.

Probleme rezolvate

Un calculator poate executa un program:

a)      scris în orice limbaj de programare

b)     descris în limbaj masina

raspuns corect b)

Enumerati principalele dezavantaje ale programarii în limbaj masina.

raspuns:

necesitatea descompunerii problemei de rezolvat în operatii elementare pe

care le poate executa calculatorul respectiv, cu specificarea codului numeric

pentru instructiuni, date si adrese de memorie;

lizibilitate scazuta si o rata mare a erorilor;

dependenta de un anumit tip de calculator;

dimensiune mare a programelor;

productivitate mica in activitatea de programare.

Un program scris într-un limbaj de asamblare poate fi executat:

a)      pe orice calculator

b)     numai pe tipul de calculator corespunzator limbajului de asamblare utilizat

raspuns corect b)

Un program scris într-un limbaj de asamblare poate fi executat pe calculator:

a)      fara a necesita alte transformari prealabile

b)     dupa încarcarea sa în memorie



c)     numai dupa traducerea sa în instructiuni cod masina 151e47b

raspuns corect c)

Enumerati principalele caracteristici ale limbajelor de programare din generatia a treia

raspuns:

- au un vocabular format din simboluri, cuvinte, fraze etc.;

- opereaza asupra unor concepte de nivel logic (fisier, variabile, constante,

operatii de prelucrare etc.) spre deosebire de limbajul-masina care opereaza cu

elemente de nivel fizic (registru, locasie de memorie, port de intrare etc.);

- se bazeaza pe engleza structurata, apropiindu-se de limbajul utilizat in diferite

domenii;

- programele sunt mult mai usor de scris si citit, creste productivitatea si se

reduc erorile de programare;

- dispun, in general, de biblioteci speciale;

- sunt, in general, limbaje procedurale (urmaresc, pas cu pas, procedura de

rezolvare a problemei);

- sunt orientate spre problema iar programele rezultate sunt portabile (pot fi

rulate pe orice tip de calculator, indiferent de tipul de microprocesor sau de

sistemul de operare cu care acesta este dotat, fiind necesara doar prezenta

compilatorului aferent).

Probleme propuse

Enumerati si exemplificati principalele clase de limbaje de programare din generatia a treia

2. Limbajele de programare din generatia a patra au aparut:

a)      odata cu aparitia compilatoarelor

b)     ca urmare a dezvoltarii sistemelor de baze de date

c)     pentru rezolvarea aplicatiilor de programare logica

Dati exemple de limbaje din generatia a patra

Cel mai reprezentativ limbaj de programare logica este limbajul:

a)      SQL

b)     Simula

c)     PROLOG

d)     LISP

e)     Java

Enumerati si exemplificati principalele clase de limbaje de programare dupa

metodologiea programarii, structura programului:

Care sunt principalele activitati ce trebuie parcurse de la operatia de redactare a unui program si pâna la executia sa pe calculator:

7. Un mediu de programare este:

a)      un limbaj de programare evoluat

b)     o componenta a sistemului de operare

c)     un set de instrumente software care permite realizarea tuturor operatiilor începând cu redactarea programului si terminând cu executia sa pe calculator.




Document Info


Accesari: 7764
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )