Paradigma de programare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , o paradigmă de programare este un stil fundamental de programare , adică un set de instrumente conceptuale furnizate de un limbaj de programare pentru scrierea codului sursă al unui program , definind astfel modul în care programatorul concepe și percepe programul în sine . Diferite paradigme diferă în conceptele și abstracțiile utilizate pentru a reprezenta elementele unui program (cum ar fi funcțiile , obiectele , variabilele , constrângerile etc.) și în procedurile utilizate pentru executarea datelor procedurilor de procesare (atribuire, calcul, iterație , fluxul de date etc.).

Descriere

Fiecare limbaj de programare este, în general, inspirat - și trasabil - într-o anumită paradigmă de programare; un program orientat obiect , de exemplu, este alcătuit din obiecte care interacționează între ele, în timp ce în programarea funcțională programul este o compoziție de funcții ; Pascal și C se bazează pe paradigma de programare structurată , Lisp pe cea a programării funcționale , Prolog pe cea a programării logice și așa mai departe.

Unele limbaje de programare, pe de altă parte, sunt influențate de mai multe paradigme; un exemplu macroscopic este Ada , care a fost conceput în mod explicit ca o sumă de concepte din programare structurată , programare modulară , programare generică , programare concurentă și programare pentru tipuri de date abstracte .

Istoria paradigmelor de programare se pretează să fie reprezentată cu un arbore genealogic ; în multe cazuri, de fapt, se naște o nouă paradigmă ca evoluție a altuia, adăugând noi concepte, dar și menținându-le pe cele fundamentale ale celei anterioare (eventual plasându-le într-o nouă perspectivă sau modificându-le importanța relativă). Uneori acest „salt evolutiv” constă în realizarea obligatorie și / sau susținerea explicită a ceea ce în paradigmele anterioare se stabilise ca o regulă a unei bune programări . De exemplu, programarea structurată a introdus structuri de control standard (secvențe, bucle și alternative) și a interzis utilizarea declarației goto , care s-a dovedit neindispensabilă cu teorema Böhm-Jacopini . Când s-a întâmplat acest lucru, riscurile utilizării nediscriminatorii a instrucțiunii de salt necondiționat goto erau deja cunoscute de mulți programatori, iar regulile de stil erau răspândite, ceea ce sugerează restricționarea utilizării goto în moduri care ar putea fi în mod substanțial potrivite cu structurile. Controlul programării structurate.

Pe baza considerației anterioare, se poate observa, de asemenea, că nu este strict necesar, să programăm conform unei anumite paradigme, să avem un limbaj de programare inspirat de aceeași paradigmă; de exemplu, este posibil (deși nu este foarte ușor) programarea orientată obiect în limbaj C. Mecanismele de abstractizare a limbajelor de programare, diferite pentru diferitele paradigme, pot ajuta la realizarea posibilelor stiluri de programare bazate pe concepte care nu sunt furnizate direct de limbajul utilizat.

Tipuri de paradigme

În ceea ce privește cel puțin limbajele de programare utilizate în practica industrială a dezvoltării de software , se poate identifica o „linie principală” de paradigme de programare:

programare modulară
(mijlocul anilor 1970 ) Modula , CLU (limbă)
programare orientată pe aspect
O extensie a OOP ( anii 2000 ) AspectJ
programare orientată către utilizator
În cadrul Microsoft Windows NT Internet Development (1998 Microsoft Press), platforma .NET
programare orientată obiect
( 1980 ) Smalltalk , Eiffel , C ++ , Java , Python , Ruby , platforma .NET
programare structurată după tipare
Planuri Java , planuri Sun Java
programare pentru potrivirea tiparelor
( Expresii regulate )
programare procedurală
( 1960 ) Fortran , Cobol , F #
programare structurată
(începutul anilor 1970 ) Pascal , C.
programare pentru tipuri de date abstracte
(sfârșitul anilor 1970 ) OBJ

Alte paradigme s-au născut pentru aplicații specifice:

programare concurentă
Inițial pentru calcul pe arhitecturi paralele ( anii 1970 ) Erlang , Procese secvențiale de comunicare (CSP), Occam , Go
programare logică
Pentru aplicații euristice , inteligență artificială etc; ( 1970 ) Prolog
programare funcțională
Pentru aplicații matematice și științifice etc; ( 1970 ) Lisp , Haskell
programare orientată spre evenimente
Pentru aplicații în timp real și interfețe grafice
programare constrângere

Elemente conexe

Controlul autorității GND ( DE ) 4308224-5
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT