Sunteți pe pagina 1din 4

Programarea calculatoarelor

Cap.1 Evolutia limbajului de programare


Un limbaj de programare permite descrierea unui proces de calcul alcatuit din mai multi pasi pentru rezolvarea unei probleme,fiecare pas fiind exprimat in comenzi elementare(instructiuni)ce vor fi executate de calculator.Un calculator poate executa orice program descris in limbaj propriu,numit limbaj-masina (sau limbaj cod-masina). Generatia I Limbajele in cod-masina constituie prima generatie de limbaje de programare si sunt bazate pe sistemul binar de enumeratii si difera de la un tip de calculator la altul.Fiecare instructiune in astfel de limbaje este o succesiune de cifre binare.Limbajele cod masina au urmatoarele dezavantaje: necesita descompunerea problemei de rezolvat in operatii elementare pe care le poate utiliza calculatorul,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 dimensiuniea mare a programului productivitatetea scazuta in activitatea de programare Avand in vedere aceste dezavantaje s-a impus crearea unor limbaje artificiale care sa permita descrierea modului de rezolvare a problemelor intr-o maniera apropiata limbajului matemetic,economic sau chiar limbajul natural.De asemenea s-a urmarit depunerea unui efort minim din partea programatorului si un program odata scris sa poata fi executat de aproape orice tip de calculator Generatia a-II-a Pentru indeplinirea unora dintre dezideratele mai sus prezentate,urmatoarea etapa in evolutia limbajelor de programare o constituie aparitia limbajelor de asamblare,care constituie a doua generatie de limbaje de programare.Acestea inlocuiesc codurile numerice ale instructiunilor si operanzilor cu coduri mnemonice.Instructiunile difera de la un calculator la altul in functie de hardul acestuia. Dezavantaje: programele rezultate nu sunt portabile(un program scris pe un tip de calculator nu poate fi scris pe un alt tip de calculator) formatul instructiunilor difera de cel utilizat in limbajul natural,ceea ce ingreuneaza mult programele rezultate au dimensiune mare si productivitatea scazuta Pentru a putea fi executate de un calculator ,programele scrise in aceste limbaje de asamblare trebuie traduse in limbaj-masina,lucru ce este realizat prin intermediul unui program traducator specific limbajului de asamblare utilizat ,numit asamblor.Cercetari efectuate pentru elaborarea unor limbaje mai apropiate de limbajul natural au condus la creearea limbajului de nivel inalt,in care un program difera foarte putin de la un calculator la altul,fiind insa necesar prezanta unui program compilator,care sa traduca limbajul in codmasina Generatia a-III-a Aceste limbaje HLPL(High Land Programming Language)constituie generatia a treia de limbaj de programare.Primul limbaj fiind FORTRAN(FORmula TRANslator)1954 sub conducerea lui Jhon Backus. Aceste limbaje se caracterizeaza prin: au un vaocabular format din simboluri,cuvinte,fraze opereaza asupra unor concepte de nivel logic,fisier,variabile,constante,operatii de prelucrare,spre deosebire de limbajele cod-masina care opereaza cu elemente de nivel fizice:registru,locatii de memorie

Programarea calculatoarelor se bazeaza pe engleza structurata apropiindu-se de limbajul utilizat in diferse domenii programele sunt mult mai usor de scris si citit ,creste productivitatea in activitatea de programare si se reduc erorile dispun de biblioteci speciale sunt in general limbaje procedurale(urmaresc pas cu pas procedura) sunt orientate pe problema,iar programele rezultate sunt portabile(pot fi reluate pe orice tip de calculator ,indiferent de tipul de procesor sau sistemul de operare,fiind necesar doar de acel compilator) Aceste limbaje au dominat mai bine de 30 de ani piata limbajelor de programare.Desi exista mii de astfel de limbaje de programare,o clasificare mai apropiata ar putea fi urmatoarea: 1. limbaje pt calcule stiintifice ALGOL(ALGOritmic Language) 2. limbaje comerciale COBOL(Common Bussiness Oriented Language) RPG 3. limbaje pentru aplicatii speciale a) pentru simulare SIMULA ,GPSS , GPS b) pentru aplicatii militare in timp real ADA c) pentru programare roboti si masini unelte FORTH d) pentru rezolvarea unor probleme de tip 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) pentru limbaje derivate din sisteme de operare C , C++ , B , BLPL c) pentru limbaje de programre functionala LISP , APL , ML Generatia a-IV-a Limbajele din generatia a patra au aparut odata cu dezavantajele sistemelor de baze de date SGBD-uri (sistemelor de gestiune a bazelor de date).Aceste limbaje se mai numesc si generator de aplicatii si sunt preferate de catre neinformaticieni.Caracteristici: o interfata prin instructiuni si prin meniuri caracterul neprocedural usurinta cu care se pot invata si manevra independenta datelor de programele de aplicatie care le utilizeaza Dintre limbajele din aceasta generatie fac parte limbajele din formula dBASE(FOXBASE ,dBASE ,FOXPRO),PARADOX ,QBE (Query By Example),ACCESS,DB2 Generatia a-V-a Limbajele din generatia a cincia se utilizeaza pentru rezolvarea unor probleme de programare logica(inteligenta artificiala).Cel mai utilizat program reprezentativ este PROLOG

Programarea calculatoarelor O alta clasificare a limbajului de programare se poate face dupa modul si modelul de abstractizare , metodologia programarii,structura programului: 1) Limbaje pentru programarea modulara si structurata: FORTRAM - ALGOL COBOL - PASCAL -C 2) Limbaje pentru programarea orientata pe obiecte: SMALLTALK - JAVA PYTHON - EIFFEL 3) Limbaje pentru programarea concurenta si distribuita: concurent PASCAL - CSP ADA - LINDA - ORCA 4) Limbaje pentru programarea functionala: LISP - ML CAML - MIRANDA - APL 5) Limbaje pentru programarea logica: PROLOG DATALOG 6) Limbaje pentru programarea la nivelul bazelor de date: limbaje incorporate in SGBD-uri SQL QBE 7) Limbaje pentru programarea vizuala: VISUAL BASIC VISUAL C++ VISUAL FOXPRO Clasele rezultate nu sunt dijuncte,unele limbaje regasindu-se in mai multe clase,astfel Java este atat limbaj de programare orientat pe obiecte,cat si pentru programare concurenta si distribuita,cat si vizuala. Activitatile necesare la elaborarea si executia programului sunt: 1) scrierea programului sau codificarea in urma carui rezulta asa numitul program sursa sau codul-sursa 2) incarcarea in memorie si salvarea pe disc 3) compilarea asa numitele module-obiect 4) editoare de legaturi ,programul executabil 5) depanarea programului 6) executia programului 7) intretinerea programului sa se efectueze anumite modificari ca urmare a unor defectiuni de functionare Pentru redactarea unui program(tastarea lui)se utilizeaza un editor de text.Avand in vedere faptul ca de la operatia de redactare a programului si pana la executia sa pe calculator se parcurg o serie de activitati pe care le-au mentionat anterior,s-au creat asa numitele medii de programe care contin instrumente(utilitare) pentru fiecare etapa,incepand cu editoare de texte proprii si terminand cu comenzi pentru executia programului. Un salt important in activitatea de programare il constituie trecerea de la programarea proceduala (monolitica),in care un program este o secventa de instructiuni,la programarea visuala si orientata,obiect care permite generarea unui program si a unor interfete utilozator prietenoase prin combinarea (manifestarea)unor obiecte predefinite sau definite de utilizator si atasare de cod corespunzatoare.Astfel s-au estompat barerile intre teoria si practica programarii,urmarindu-se simplificarea la maxim a programelor si

Programarea calculatoarelor transformarea pe cat posibil spre calculator.Odata cu aparitia produselor CASE(Computer Added Software Engineering)se poate spune ca programarea a trecut de la faza orizontala la faza de productie.

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