Referat Tipuri De Limbaje De Programare

Mai jos puteti citi fragmente din Referat Tipuri De Limbaje De Programare si de asemenea puteti face Download Referat Tipuri de limbaje de programare

Citeste fragmente din Referat Tipuri De Limbaje De Programare

I. Tipuri de limbaje de programare. Clasificare. Un limbaj de programare este un sistem de convenţii adoptate pentru realizarea unei comunicări – între programator şi calculator . Limbajele folosite pentru programarea unui calculator sunt extrem de asemănătoare limbajelor naturale . Ele sunt compuse din : cuvinte (rezervate) ; punctuaţie ; propoziţii şi fraze ; reguli sintactice etc . Aşa cum pentru însuşirea unei limbi străine trebuie învăţate cuvintele acesteia şi regulile cu care pot fi manevrate tot aşa pentru însuşirea unui limbaj de programare trebuie studiate cuvintele şi semnele care îl compun împreună împreună cu regulile de manevrare a lor. După metoda cu care este conceput ansamblu comunicării , limbajele pot fi clasificate în mai multe moduri . În continuare voi enumera cele mai importante clase de limbaje , descriere ce acoperă totalitatea limbajelor existente . I.1. Limbaje de nivel scăzut – de nivel înalt “ Nivelul “ unui limbaj este apreciat prin poziţia pe care o ocupă pe scara constituită de limbajul recunoscut de microprocesor ( limbaj maşină ) şi limbajul natural al programatorului ( limba română , limba engleză …) . Un limbaj de nivel scăzut este foarte apropiat de maşină , el manipulează cu elemente de nivel hardware , fizic , cum ar fi : registru , microprocesor , locaţie de memorie , port de intrare / ieşire etc . Un limbaj de nivel înalt sau foarte înalt manipulează cu concepte apropiate de limbajul natural , concepte de nivel logic , cum ar fi : colecţie de date , nume de operaţie ( sort , writeln , open ) , variabile , constante ( asemănătoare ca înţeles cu cele din matematică). Cu ajutorul unui limbaj de nivel înalt programatorul se face mult mai uşor înţeles de către calculator . Uneori o singură limie de program scrisă cu un astfel de limbaj poate echivala cu sute de linii de program scrise în limbaj maşină . Deci din punct de vedere al reducerii timpului de realizare a unui program şi al siguranţei în funcţionare ( absenţa erorilor de programare ) este de preferat un limbaj de nivel cât mai ridicat ( înalt sau foarte înalt ) .În schimb , pe măsură ce limbajul are un nivel mai ridicat execuţia programului conceput cu ajutorul său va fi mai lentă , decât a unui program ce realizează aceleaşi operaţii dar este scris în limbaj de asamblare . O altă diferenţă esenţială între cele două tipuri de limbaje o reprezintă portabilitatea , adică posibilitatea transferării programelor pe un alt tip de maşină decât cea pe care au fost construite . Din acest punct de vedere limbajul de asamblare este neportabil deoarece el este specific microprocesorului . Programele realizate pe un tip de maşină trebuie rescrise integral pentru noul tip de maşină , folosind un nou set de instrucţiuni – care deobicei diferă foarte mult . Lucrurile stau altfel cu programele concepute cu ajutorul unui limbaj de nivel înalt , deoarece acestea sunt detaşate de maşină . Între un astfel de program şi calculator se interpune compilatorul ( sau interpretorul ) care rezolvă corect transformarea fişierului-sursă în fişier-executabil . I.2. Limbaje procedurale – neprocedurale Cele două tipuri de limbaje , procedurale şi neprocedurale , se diferenţiază prin nivelul de organizare ( structurare ) a unui program . Limbajele neprocedurale sunt concepute pentru a gândi un program la nivel de instrucţiune , pe când cele procedurale , obligă programatorul să conceapă programe la nivel de bloc . Într-un limbaj procedural (numit şi limbaj structurat) programele sunt scrise instrucţiune cu instrucţiune , dar ele sunt organizate logic în blocuri (grupuri de instrucţiuni ) ce realizează o acţiune bine determinată .În general un bloc are un punct de intrare şi un punct de ieşire – nu mai multe . Un limbaj procedural oferă posibilitatea utilizării unui nivel ridicat de concepere a unui program şi duce la realizarea de programe coerente şi protejate la erori . Prin contrast , limbajele neprocedurale nu favorizează programatorul în a se desprinde de nivelul „instrucţiune „ şi duc deseori la programe greu de controlat – mai ales în cazul programelor de dimensiuni mari . Limbajele neprocedurale sunt încă preferate de unii utilizatori datorită timpului foarte scurt cât decurge învăţarea şi utlizarea lor . I.3. Limbaje orientate Din punctul de vedere al aplicabilităţii unui limbaj , limbajele pot fi orientate pe o anumită problemă sau concepute pentru soluţionarea oricărui tip de problemă – limbaje de uz general sau altfel spus , neorientate pe o problemă . Limbajele orientate prezintă un grad înalt de specificitate pe când un limbaj neorientat reprezintă un cadru general ce permite introducerea de către utilizator a conceptelor şi prelucrărilor dorite . Deci , diferenţa esenţială dintre cele două tipuri de limbaje o constitue nivelul conceptual definit . Cele specializate posedă deja integral suportul necesar şi permit programatorului să se concentreze la ansamblul problemei , pe când cele nespecializate lasă în sarcina programatorului manevrarea nivelelor inferioare ale problemei . I.4. Limbaje concurente Un limbaj concurent permite definirea de procese ( prelucrări ) paralele , execuţia sa fiind ramificată la un anumit moment de timp . Prin contrast limbajele neconcurente ( majoritatea limbajelor ) au o desfăşurare liniară , fiind activ un singur proces la un moment dat . Procesele concurente presupun în mod obligatoriu un sistem multi-tasking ce poate gestiona mai multe „ sarcini „ la un moment dat . II . Limbaje de programare II.1. Limbaje de nivel scăzut . Această categorie de limbaje are un reprezentant autoritar şi anume : limbajul de asamblare . Diferenţierile care se pot face pentru limbajele de nivel scăzut sunt următoarele : – după tipul de maşină ; Regulile respectate de versiunile limbajului de asamblare sunt : o nouă versiune o include complet pe cea anterioară , versiunea nouă oferă funcţii suplimentare şi le realizează pe cele vechi mai rapid . – după mediul de programare oferit . Aspectul unui limbaj poate fi schimbat radical de mediul de programare oferit . Pentru limbajul de asamblare există mai multe implementări disponibile , începând cu pachete ce operează în mod linie şi culminând cu medii integrate în care toate operaţiile se pot declanşa de la un acelaşi pupitru de comandă . Nu sunt luate în considerare decât aceste medii integrate ( denumite generic medii Turbo) , dintre care se detaşează Turbo Asamblorul firmei Borland TASM . II.2. Limbaje de nivel înalt neorientate . II.2.1. BASIC A fost creat în 1964 la Darmooth College (S.U.A.) . Denumirea sa provine de la iniţialele cuvintelor Beginner’s Allpurpose Symbolic Instruction Code ( Cod de instrucţiuni simbolice , de uz general , destinat începătorilor ) . Are următoarele caracteristici fundamentale : simplu de învăţat ; instrucţiunile sale sunt cuvinte din limba engleză sau prescurtări ale acestora ; neorientat pe un anumit tip de problemă ; permite construirea de aplicaţii ; este un limbaj nestructurat , ceea ce îi permite să fie uşor învăţat . Din cauză că a cunoscut o largă răspândire , au fost implementate noi versiuni de Basic : GW-BASIC , QUICK BASIC , TURBO BASIC , VISUAL BASIC ( Basic for Windows ) . II. 2.2. FORTRAN Limbajul Fortran este decanul de vârstă al limbajelor de largă folosinţă . A apărut în 1956 şi îşi datorează numele prescurtării cuvintelor : FORmula TRANslation ( Traducere de formule ). Iniţial reprezenta un limbaj orientat pe calcule ştiinţifice având definite concepte precum : matrice , funcţii trigonometrice , numere reale în dublă precizie . Versiunile ulterioare care au cunoscut o mare popularitate au extins posibilităţile limbajului trasformându-l într-un limbaj eficient , de uz general .În prezent există pentru IBM-PC două implementări mai importante ale limbajului : Microsoft Fortran , Fortran for Windows . Deşi nu poate fi considerat „ depăşit „ din punct de vedere conceptual ( este un limbaj algoritmic – structurat ) este neindicată folosirea lui datorită absenţei unor medii de programare performante şi pentru că tendinţa actuală îi este defavorabilă . II.2.3. PASCAL Conceptualizat în anul 1970 de către Niklaus Wirth , limbajul PASCAL poartă numele matematicianului şi filosofului BLAISE PASCAL , în semn de recunoaştere a meritelor sale în teoretizarea maşinilor de calcul . Creat după acumularea de cunoştiinţe temeinice în ştiinţa limbajelor formale , din confruntarea cu probleme concrete ale programării , limbajul PASCAL a constituit la vremea respectivă un limbaj modern , menţinându-se ca atare şi în prezent , datorită faptului că posedă o solidă bază conceptuală . Limbajul PASCAL a introdus în versiunea sa iniţială noţiunea de programare structurată şi ulterior noţiunile de date ( structuri ) dinamice , date (structuri ) definite de utilizator . În prezent standardul implementărilor PASCAL cuprinde următoarele elemente : programare structurată de tip algoritmic ; definirea de noi funcţii sau proceduri ; tipuri de date definibile de către utilizator ; structuri de date dinamice ; adresări indirecte ale datelor ; recursivitate ; rutine complete de intrare / ieşire ; funcţii de conversie a datelor din ASCII în format intern şi invers ; set complet de funcţii matematice ; funcţii elementare de grafică 2D ; posibilitatea inserării direct în sursă a instrucţiunilor în limbaj de asamblare ; posibilitatea definirii de overlay-uri pentru program . Versiunile standard ale implementărilor PASCAL sunt cele oferite de Microsoft şi Borland , cu avantaj pentru cele din urmă ( TURBO PASCAL 5.0 , TURBO PASCAL 5.5 ) datorită mediului de lucru performant (de tip “ TURBO “ ) . Combinaţia PASCAL + TURBO a reprezentat un succes imens în rândul programatorilor având ca singur rival cealaltă combinaţie : C+TURBO . II. 2.4. Limbajul C Acest limbaj de programare , cu cel mai scurt nume , a fost creat în 1971 de către 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 scăzut , ceea ce permite exploatarea portabilă a caracteristicilor intime unei maşini ; rutine de conversie a datelor foarte evoluate ; tipuri de date definibile de către utilizator ; gestionarea elaborată a datelor de tip dinamic ; definirea de noi funcţii ; adresări indirecte ale datelor , variabilelor ( pointer-i ) ; recursivitate ; set complet de funcţii matematice ; funcţii pentru realizarea de grafică elementară 2D; funcţii de apel servicii DOS ; posibilitatea definirii de overlay-uri pentru un program ; concizie deosebită a limbajului . Pentru versiunile standard ale implementărilor limbajului C există medii de programare de tip “ TURBO “ce aparţin firmelor : Microsoft – produsul QUICK C şi firmei Borland – produsele TURBO C . II.2.5. Limbajul ADA A fost creat special pentru a gestiona totalitatea aplicaţiilor dezvoltate şi utilizate de N.A.S.A. Noutatea limbajului ( de tip structurat , algoritmic ) o constitue concurenţa , deci posibilitatea lansării de procese paralele ( sincronizate interactiv în finalul execuţiei lor ) . Saltul calitativ este evident şi deschide un nou domeniu în programare … dar nu pentru IBM-PC . Versiunile implementărilor limbajului ADA pe IBM-PC nu posedă tocmai acestă parte de concurenţă , reducând limbajul la un simplu limbaj structurat de uz general . Deci , ADA este un limbaj ultramodern din punct de vedere teoretic dar ineficient din punct de vedere practic pentru IBM-PC-uri . II.3 . Limbaje orientate pe gestiunea bazelor de date Necesităţile actuale în practica utilizării calculatoarelor se îndreaptă cu precădere spre gestionarea bazelor de date de mari dimensiuni . O explicaţie a acestei orientări e dată de faptul că o bază de date reprezintă o informaţie , iar cel ce deţine informaţii complete şi rapide într-o anumită problemă este indiscutabil cu un pas înaintea celorlalţi . Concurenţa din domeniul economic poate fi numită pe bună dreptate o bătălie informaţională . Un sistem de gestionare a bazelor de date ( S.G.B.D.) de tip clasic operează cu următorii termeni fundamentali : câmp – o locaţie în care se poate memora o informaţie bine determinată ; înregistrare – mai multe câmpuri alcătuiesc împreună o înregistrare ; baza de date – colecţie de înregistrări . Deci , datele sunt gestionate prin intermediul unei structuri , organizată ierarhic , la un nivel de organizare logică . & Î F ᘌ坨㔀脈࡜䦁i către bazele de date relaţionale . Diferenţa esenţială constă în definirea unui nivel logic suplimentar între datele gestionate . Acestea nu mai sunt privite ca simple fişe izolate între ele ci pot fi analizate pe baza legăturilor ( relaţiilor ) ce există între ele . Noţiunile cu care operează un S.G.B.D. relaţional sunt următoarele : tabel – structură fundamentală de “ depozitare “ a datelor ; linie în tabel – echivalentul unei înregistrări clasice ; coloană în tabel – echivalentul unui câmp de tip clasic ; bază de date – o colecţie de tabele , conectate prin valorile anumitor coloane . Această nouă concepţie permite definirea de structuri 1: n . O “ înregistrare “ poate conţine n valori pentru un “ câmp “ anumit nu una singură ca în cazul clasic . Structurile de tip 1 : n pot fi rezolvate şi cu ajutorul unui S.G.B.D. clasic , dar întreaga gestiune a operaţiilor revine programatorului pe când un mediu relaţional furnizează din start servicii speciale . Spre deosebire de S.G.B.D. –urile clasice , un mediu relaţional presupune ca cerinţă minimală posibilitatea manipulării datelor prin intermediul conexiunilor logice stabilite . Pentru aceasta există definit ( şi impus ca standard unanim recunoscut ) limbajul de interogare SQL ( Structured Query Language – limbaj de cereri structurate ) .Prin intermediul său sunt permise următoarele operaţii : regăsire date ( conexate logic ) ce îndeplinesc o anumită condiţie ; definire ordine de returnare a datelor ; redefinire conectări logice ale datelor ; exploatare ; programare . Avantajele unui S.G.B.D. clasic sunt : simplitate în manevrare ; deci efort de studiu redus ; pot funcţiona pe un sistem de calcul ce nu implică resurse speciale , ci doar spaţiu de stocare extern suficient pentru problema dată ; preţ de cost redus faţă de cele relaţionale . Avantajele unui S.G.B.D. relaţional sunt : nivel logic superior ( corelaţii , structuri 1 : n ) , prelucrări ( regăsiri ) de date cu un înalt nivel de complexitate ; nivel superior de portabilitate a aplicaţiilor , datelor. II.3.1. S.G.B.D. – uri clasice . II.3.1.1. dBASE III Cel mai răspândit sistem de gestiune a bazelor de date este dBASE , în diversele lui versiuni . El poate fi considerat un “ BASIC “al bazelor de date . La momentul apariţiei a constituit o adevărată revoluţie în domeniul S.G.B.D.-urilor . Meritele sale principale care l-au impus atenţiei utilizatorilor şi programatorilor sunt : foarte simplu de utilizat ; limbaj de nivel foarte înalt , simplu de învăţat ; interactivitate bună a sistemului ; poate funcţiona cu resurse extrem de restrânse ; Dezavantajele principale ale dBASE –ului sunt : viteză de lucru extrem de scăzută ; limbaj de programare cu lacune greu de surmontat ( nu posedă salturi , funcţii matematice reduse , erori de implementare ) ; aplicaţiile create slab interactive ; imposibilitateta conectării cu un alt limbaj . Cele mai importante implementări ale sale sunt : dBASE III Plus şi dBASE IV . II .3.1.2. COBOL A fost creat în 1950 şi reprezenta singura posibilitate de gestionare a unei baze de date . Reprezintă în primul rând un limbaj de programare special conceput pentru informatica de gestiune . Dacă facem o comparaţie , sugestivă , COBOL este echivalentul FORTRAN-ului pentru sistemele de gestiune a bazelor de date ( din punct de vedere istoric şi al performanţelor ) . Limbajul este considerat greoi şi inflexibil , iar pentru crearea unui program foarte simplu e nevoie de scrierea unui adevărat eseu . Singurul avantaj real al COBOL-ului este portabilitatea sa ridicată . II. 3.1.3. FOXBASE Sistemul dBASE a incintat firmele producătoare de soft , datorită popularităţii sale şi pe de altă parte a calităţilor scăzute ale implementărilor originale furnizate de firma Ashton-Tate . Au apărut noi implementări 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 atât pentru programatori cât şi pentru utilizatori . II.3.1.4. ISIS Este distribuit gratis de către UNESCO , ceea ce îl face cu adevărat interesant . Caracteristicile ce îl fac interesant sunt : interactivitate bună ; posibilitate definire structuri 1 : n ; suport de reţea locală ; un limbaj intern( o versiune de PASCAL ) cu care se prelucrează datele ; adaptabilitate foarte bună . II.3.2. S.G.B.D. –uri relaţionale II.3.2.1. ORACLE Se poate afirma fără teama de a greşi că ORACLE reprezintă cel mai performant S.G.B.D. disponibil la momentul actual . Pe lângă faptul că posedă avantajele unui mediu de tip relaţional ORACLE este gândit 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 către C ) . Putem menţiona : viteză de lucru foarte bună ; exploatare interactivă la nivel SQL ; limitări de lucru greu sau imposibil de atins ( maxim 65535 caractere într-un câmp , număr nelimitat de câmpuri , de înregistrări ) ; exploatare eficientă a spaţiului pe disc ( memorarea câmpurilor în format variabil ) . Oracle este implementat pe majoritatea tipurilor de computere mari , ceea ce oferă portabilitatea aplicaţiilor , dar mai ales posibilitatea conectării la calculatoare puternice . II.3.2.2. PARADOX Reprezintă un S.G.B.D. cu adevărat profesional . El îndeplineşte toate cerinţele unui produs cu adevărat modern şi performant şi anume : interactivitate foarte bună ; viteză de lucru mare ; servicii şi auxiliare ; limbaj de programare evoluat ( PAL – Paradox Application Language ) , dotat cu compilator . II. 4. Limbaje orientate pe calcul tabelar . Aplicaţiile împreună cu limbajele implementate pentru rezolvarea problemelor descrise în continuarea nu pot fi considerate medii de programare propriu-zise . Aplicaţiile de tip “ tabelă de calcul “ au fost concepute în ajutorul funcţionarilor , pentru a prelua o parte imensă din rutina de lucru inerentă unor astfel de activităţi . Denumirea provine din limba engleză şi este o traducere pentru termenul „ spread-sheet” ( spread-întindere,desfăşurare,foaie,tabel; sheet-schemă,diagramă,a acoperi cu un strat ) .În traducere directă aceasta ar însemna – pentru cazul de faţă – organizarea unei foi ( a unui tabel ) . Iată cum funcţionează un program de tip spread-sheet : elementul de lucru îl reprezintă un tabel ; un tabel este format din linii şi coloane ; intersecţia unei linii cu o coloană se cheamă celulă ; tabelul este vizualizat pe ecran prin intermediul unei ferestre ; în fiecare celulă poate exista una din entităţile următoare : text , numere , formule , secvenţe de program , macroinstrucţiuni . Pe lângă aceste caracteristici specifice unui spread-sheet cerinţele minimale ale unui pachet de calcul tabelar includ : posibilitatea „ căutărilor inverse ” ( de la rezultatul unui calcul , la valorile care l-au generat ) ; posibilitatea de lucru multi-tabel ( mai multe tabelel simultan); funcţii de editare şi formatare a textului ( editor de texte obişnuit ) ; funcţii grafice ( diagrame , prezentări ) ; sistem de gestiune a bazelor de date ( pentru celulele unui tabel ) ; tipărire de calitate ( posibilitatae de a lucra cu mai multe tipuri de imprimante , exploatarea rezoluţiei unei imprimante laser , set bogat de fonturi ) . Spre deosebire de limbajele de programare propriu-zise , cele folosite de spread-sheet-uri sunt special concepute pentru a fi folosite de nespecialişti ( uşor de învăţat , uşor de utilizat) . Un astfel de limbaj ( de tip interpretor ) se constituie într-un cadru general pentru rezolvarea problemelor funcţionarilor din diverse domenii de activitate . O aplicaţie realizată cu un spread-sheet poate fi modificată şi adusă la zi direct de către utilizator , fără a mai fi necesară intervenţia programatorului . Produsul obţinut are flexibilitate maximă , iar efortul necesar realizării lui este minim. Dezavantajele principale ale aplicaţiilor realizate cu ajutorul unui spread-sheet le constitue imposibilitatea depăşirii cadrului de „ programare „ oferit şi dificultatea de a realiza prelucrări foarte complexe . Însă aceste dezavantaje sunt mai mult teoretice deoarece nu este cazul de a realiza aplicaţii cu astfel de cerinţe folosind un spread-sheet . Programele de calcul tabelar rezolvă în mod strălucit o problemă punctuală . Cele mai cunoscute şi răspândite produse de tip „ calcul tabelar „ sunt : II.4.1. LOTUS 1-2-3 Lotus 1-2-3 , produs al firmei Lotus Development este în mod sigur cel mai răspândit produs din această categorie . Datorită popularităţii sale el s-a constituit într-un adevărat standard ( neoficial ) pentru spread-sheet-uri . La nivel de ansamblu , LOTUS se preuintă ca o aplicaţie cu bună interactivitate . Reproşurile ce i se pot aduce sunt : meniurile ( uneori stufoase şi nelogic ramificate ) şi help-ul care nu totdeauna este la obiect . II.4.2. QUATRO PRO 2.0 Spread-sheet-ul QUATRO , realizat de firma Borland este cel mai nou şi puternic produs din categoria sa . El combină într-un mod fericit tot ceea ce este pozitiv la rivalii săi adăugând şi multe facilităţi proprii. II.4.3. EXCEL Produsul firmei Microsoft , EXCEL este o aplicaţie care funcţionează sub Windows . De aici rezultă în mod direct unele din caracteristicile sale ( utilizare mai comodă , meniuri foarte clare şi standardizate , funcţii grafice deosebit de puternice , viteză de lucru inferioară lui Quatro ) . Câteva specificaţii tehnice pentru EXCEL ar fi : tabelă cu dimensiunea maximă de 1638 x 256 celule ; lăţimea maximă a unei coloane este de 255 caractere ; tabelele şi grafica pot exista pe foi distincte ; funcţioneauă după principiul WYSIWYG ; se pot folosi maxim 4 fonturi la un moment dat ; limbaj de programare puternic şi flexibil ; posibilitatea definirii de macroinstrucţiuni ; nu posedă funcţie de salvare automată ; conţine suport de funcţionare în reţea ; detectează prezenţa coprocesorului matematic şi face uz de facilităţile acestuia ; lucrează cu memoria expandată. II.5. Alte limbaje orientate II.5.1. Limbaje orientate pe calcul matematic simbolic Specialiştii din domeniul cercetării matematice au la dispoziţie unelte de lucru extrem de utile pentru eliminarea calculului matematic rutinier . În acest scop au fost create limbaje de programare care pot recunoaşte şi rezolva formule sau ecuaţii matematice complexe . Expresiile manevrate pot conţine operaţii algebrice elementare , operatori de derivare , de integrare , operatori diferenţiali care sunt recunoscuţi de sistem ca atare . În plus sunt oferite instrucţiuni absolut necesare pentru a controla un program . Cele mai importante produse de acest gen sunt REDUCE , SYMNON , MATHCAD , MATHEMATICA , MATHLAB . II.5.2. Limbaje orientate pe programarea inteligenţei artificiale Acest tip de limbaje diferă esenţial de cele algoritmice . Modalitatea de programare este descriptivă şi are intenţia declarată de simulare a raţionamentului uman . Pentru rezolvarea unei probleme sunt furnizate seturile de reguli şi informaţii necesare , iar apoi se descrie în ce constă problema ca atare . Limbajul este capabil să opereze deducţiile ( deciziile ) necesare pentru a rezolva problema într-un caz particular ce apare în practică . Aşadar , aceste limbaje descriu problema de rezolvat ( în termenii deducţiilor logice ) pe când limbajele de tip algoritmic descriu metoda de rezolvare a problemei . Domeniile de aplicabilitate pentru limbajele de programare a inteligenţei artificiale sunt cu predilecţie : realizarea de sisteme expert ( programe ce înlocuiesc experţii umani ) , computerizarea procesului de producţie , robotică , tratarea limbajelor naturale . Cele mai importante limbaje de acest tip sunt : PROLOG ( PROgramming in LOGic ) creat în 1973 şi implementat pe PC-uri abia în 1986 de firma Borland sub forma Turbo-Prolog . LISP ( LISt Processing language ) conceput în 1976 şi implementat pe PC-uri de firma Microsoft sub forma MuLISP . PAGE PAGE 11 쥁@