Paradimele în programare - Scurt ghid

paradigme_programare_verde_.jpg

 

 

Când se discută despre limbaje de programare, automat apare și cuvântul ”paradigmă”.
De cele mai multe ori această noțiune este prea puțin explică, deși este de maximă importanță atunci se are în vederea dezvoltarea unui program de calculator.

 

De aceea, fie că aveți sau nu legătură cu domeniul programării, vă invit să aflați care au fost marile idei ce au stat la baza dezvoltării celor mai populare limbaje de programare.   


Paradigma este o idee, un set de reguli care precizează modul în care se construiește un program într-un anume limbaj de programare. Paradigma de programare are o mare influență asupra modului în care se gândește rezolvarea unei probleme.

Cred că ar fi bine să vă ofer un exemplu. Să zicem că la reședința unei familii se strică încuietoarea de la ușă. Soția nu are cunoștințe tehnice, așa că soluția ei să cheme un lăcătuș să schimbe încuietoarea. Soțul, pe lângă cunoștinețe, are și puțin orgoliu de bărbat și vrea să o repare personal. Ambele abordări conduc spre aceeași soluție. Soția și soțul acționează sub paradigme diferite.

Așa e și cu limbajele de programare. Paradigma spune cum se prezintă datele și cum se prelucrează.

Aveți grijă că paradigma de programare nu are nicio legătură cu sintaxa. Două limbaje cu sintaxă diferită pot implementa programe sub aceeași paradigmă.

Din anii '50, când au început să apară primele limbaje de programare, până azi au apărut 5 mari paradigme:

  • Programare imperativă
  • Programare declarativă
    • Programare functională
    • Programare asociativă
    • Programare logică
  • Programare orientata pe obiecte

 

Mai jos aveți o reprezentare a evoluției limbajelor de programare, trecând de la o paradigmă la alta. 

paradigme_programare_tendinte_.jpg

 

 

        Programarea Imperativă

În cadrul acestei paradigme calcul se face sub formă de instrucțiuni care modifică starea unui program. La fiecare moment de timp programul are o altă stare în funcție de instrucțiunile care sunt executate. Așa cum în limbajul natural exprimarea imperativă trimite la acțiune, așa și instrucțiunile dau comenzi calculatorului.

La început limbaje de programare imperative erau foarte apropiate de codul mașină.  Astfel FORTRAN, creat de IBM în 1954, este primul limbaj cu ajutorul căruia pot fi dezvoltate programe complexe.

Din clasa limbajelor imperative fac parte și limbajele procedurale, de care sunt sigur că ați auzit: C, Pascal, Basic. Acestea lucrează pe bază de proceduri, drept abstractizare pentru instrucțiuni.


        Programarea Funcțională

Este un mod de construire a elementelor și a structurii unui program de calculator, în care calculul se bazează pe evaluarea unor funcții matematice a căror stare nu se schimbă. Mai pe scurt, este programare bazată pe matematică și pe teoria funcțiilor.

Printre limbajele de programare care au adoptat acestă paradigmă, se numără: LISP, Scheme, Haskell sau ML.
LISP a fost creat în anul 1958 la MIT și este primul limbaj utilizat pentru implementarea algoritmilor de inteligență artificială. A stat la baza dezvoltării primelor programe pentru procesarea limbajului natural.

        Programarea asociativă și logică

Un program scris într-un limbaj logic este un set de propoziții, într-o formă logică, în care se exprimă fapte și reguli despre o problemă. Astfel se descrie ce anume este o soluție pentru acea problemă, nu modul în care se ajunge la ea. Soluția este căutată în mulțimea de fapte, cu ajutorul setului de reguli.

Limbajul de programare reprezentativ este Prolog, el fiind dezvoltat în anul 1972. A fost și încă este utilizat pentru dezvoltare de programe în domeniul inteligenței artificiale.  
Alăuri de alte limbaje, Prolog a fost utilizat în proiectul Watson de la IBM. Watson este cel mai inteligent computer, fiind extrem de bun la a juca ”Riști și câștigi”.



        Programarea orinetată pe obiecte

Se bazează pe conceptul de obiect, care este o structură de date ce conține informații, sub formă de câmpuri, adesea numite atribute. Codul, scris sub formă de proceduri este cunoscut drept metodă. O trăsătură distinctă a obiectelor este că atributele lor pot fi modificate.

Obiectele pot corespunde unor lucrui din viața reală. De exmplu, pentru un magain online, obiectele pot fi: coșul de cumpărături, clientul, produsul.

Obiectele sunt organizate în clase ierarhice a căror regulă de funcționare este conceptul de moștenire.

 

Am găsit o reprezentare grafică a modului în care este gândit un program în funcție de curentul în care se înscrie.

paradigme_programare_schema_.png

 



Cele mai cunoscute limbaje orientate pe obiecte sunt: Java, C++, C# , PHP, Python. Limbajele moderne nu sunt configurate conform unei singure paradigme.
Majoritatea provin din limbaje mai vechi căror li s-au adus îmbunătățiri, de aceea limbajele noi sunt multiparadigmă. De exemplu C++ este un update al limbajului procedural C, implementând și modul orientat pe obiecte.

Am prezentat mai sus doar principalele curente în jurul cărora sunt grupate limbajele de programare. Realitatea este că schema paradigmelor este mult mai stufoasă, apărând noi curente în funcție de diversitatea problemelor de rezolvat și a soluțiilor.

Dacă ți-a plăcut acest articol, te invit să vezi care sunt ”Cele mai populare limbaje de programare”.



Articol de Oprescu Gabriel

  • 20.11.2014 11:01

Comentariu