O paradigmă de programare este un set de idei și concepte care definesc stilul de scriere a programelor de calculator (abordarea programării). Acesta este un mod de conceptualizare care determină organizarea calculelor și structurarea muncii efectuate de un calculator [1] .
O paradigmă de programare nu este definită în mod unic de un limbaj de programare; aproape toate limbajele de programare moderne permit într-o oarecare măsură utilizarea diferitelor paradigme ( programare multi-paradigma ). Astfel, în limbajul C , care nu este orientat pe obiecte, este posibil să se lucreze în conformitate cu principiile programării orientate pe obiecte, deși acest lucru este asociat cu anumite dificultăți; programarea funcțională poate fi folosită atunci când se lucrează în orice limbaj imperativ care are funcții și așa mai departe.
De asemenea, paradigmele existente se intersectează adesea între ele în detaliu (de exemplu, programarea modulară și orientată pe obiecte), astfel încât puteți găsi situații în care diferiți autori folosesc nume din paradigme diferite, în timp ce vorbesc, de fapt, despre același fenomen.
Termenul „paradigma” își datorează sensul modern în domeniul științific și tehnic lui Thomas Kuhn și cărții sale „ The Structure of Scientific Revolutions ” (vezi paradigma ). Kuhn a numit paradigme sistemele stabilite de credințe științifice în cadrul cărora se desfășoară cercetarea. Potrivit lui Kuhn, în procesul de dezvoltare a unei discipline științifice, o paradigmă poate fi înlocuită cu alta (cum, de exemplu, mecanica cerească geocentrică a lui Ptolemeu a fost înlocuită cu sistemul heliocentric al lui Copernic ), în timp ce vechea paradigmă continuă să existe pentru ceva timp și chiar se dezvoltă din cauza faptului că mulți dintre susținătorii săi se dovedesc a fi, dintr-un motiv sau altul, ei nu se pot adapta pentru a lucra într-o altă paradigmă.
Termenul de „paradigma de programare” a fost folosit pentru prima dată în 1978 de Robert Floyd în cadrul Turing Award Lecture [2] .
Floyd observă că în programare se poate observa un fenomen similar paradigmelor lui Kuhn, dar, spre deosebire de acestea, paradigmele de programare nu se exclud reciproc:
Dacă progresul artei programarii în ansamblu necesită invenția și îmbunătățirea constantă a paradigmelor, atunci îmbunătățirea artei programatorului individual necesită să-și extindă repertoriul de paradigme.
Astfel, potrivit lui Robert Floyd, spre deosebire de paradigmele din lumea științifică descrise de Kuhn, paradigmele de programare pot fi combinate, îmbogățind trusa de instrumente a programatorului.
Nu toți autorii care folosesc termenul „paradigma de programare” îndrăznesc să dea o definiție intențională a acestui termen. Cu toate acestea, chiar și acele definiții care pot fi găsite sunt foarte diferite unele de altele.
Diomidis Spinellis dă următoarea definiție [3] :
Cuvântul „paradigma” este folosit în programare pentru a defini o familie de notații (notații) care împărtășesc un mod comun (metodologie) de implementare a programelor.
Text original (engleză)[ arataascunde] Cuvântul paradigmă este folosit în informatică pentru a vorbi despre o familie de notații care au o modalitate comună de a descrie implementările programelor.Pentru comparație, același autor citează definiții din alte lucrări. Într-un articol al lui Daniel Bobrov [4] , o paradigmă este definită ca „ stil de programare ca descriere a intențiilor programatorului ”. Bruce Shriver definește paradigma de programare ca „ un model sau abordare pentru rezolvarea unei probleme ” [5] , Linda Friedman ca „ o abordare pentru rezolvarea problemelor de programare ”. [6]
Pamela Zave definește paradigma ca „ mod de a gândi despre sistemele informatice ” . [7]
Peter Wegner oferă o abordare diferită pentru definirea termenului de paradigmă de programare. În lucrarea sa „ Concepte și paradigme de programare orientată pe obiecte ” [8] , paradigmele sunt definite ca „ reguli de clasificare a limbajelor de programare în funcție de unele condiții care pot fi testate ”.
Timothy Budd sugerează ca termenul „ paradigma ” să fie înțeles ca „ o modalitate de a conceptualiza ce înseamnă „calcula” și modul în care sarcinile care trebuie rezolvate pe un computer ar trebui să fie structurate și organizate ”. [9]
Paradigma de programare ca schemă conceptuală inițială pentru stabilirea și rezolvarea problemelor este un instrument de descriere gramaticală a faptelor, evenimentelor, fenomenelor și proceselor care pot să nu existe simultan, dar sunt combinate intuitiv într-un concept comun.
![]() | |
---|---|
În cataloagele bibliografice |
Dezvoltare de software | |
---|---|
Proces | |
Concepte de nivel înalt | |
Directii |
|
Metodologii de dezvoltare | |
Modele |
|
Cifre notabile |
|