Programmeringsparadigme

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 16. marts 2022; checks kræver 2 redigeringer .

Et programmeringsparadigme  er et sæt ideer og begreber, der definerer stilen til at skrive computerprogrammer (tilgang til programmering). Dette er en konceptualiseringsmåde , der bestemmer organiseringen af ​​beregninger og struktureringen af ​​arbejdet udført af en computer [1] .

Et programmeringsparadigme er ikke entydigt defineret af et programmeringssprog; næsten alle moderne programmeringssprog tillader til en vis grad brugen af ​​forskellige paradigmer ( multi-paradigme programmering ). I C-sproget , som ikke er objektorienteret, er det således muligt at arbejde i overensstemmelse med principperne for objektorienteret programmering, selvom dette er forbundet med visse vanskeligheder; funktionel programmering kan bruges, når du arbejder i et hvilket som helst imperativt sprog, der har funktioner og så videre.

Også eksisterende paradigmer krydser ofte hinanden i detaljer (for eksempel modulær og objektorienteret programmering), så man kan finde situationer, hvor forskellige forfattere bruger navne fra forskellige paradigmer, mens de i virkeligheden taler om det samme fænomen.

Historien om udtrykket

Udtrykket "paradigme" skylder tilsyneladende sin moderne betydning på det videnskabelige og tekniske område til Thomas Kuhn og hans bog " The Structure of Scientific Revolutions " (se paradigme ). Kuhn kaldte paradigmer for de etablerede systemer af videnskabelige overbevisninger, inden for hvilke forskning udføres. Ifølge Kuhn kan et paradigme i processen med at udvikle en videnskabelig disciplin erstattes af et andet (som f.eks. Ptolemæus ' geocentriske himmelmekanik blev erstattet af Copernicus ' heliocentriske system ), mens det gamle paradigme fortsat eksisterer for nogen tid og endda udvikle sig på grund af det faktum, at mange af dens tilhængere viser sig at være af den ene eller anden grund, at de ikke er i stand til at tilpasse sig til at arbejde i et andet paradigme.

Udtrykket "programmeringsparadigme" blev første gang brugt i 1978 af Robert Floyd i hans Turing Award Lecture [2] .

Floyd bemærker, at man i programmering kan observere et fænomen, der ligner Kuhns paradigmer, men i modsætning til dem udelukker programmeringsparadigmer ikke hinanden:

Hvis udviklingen af ​​programmeringskunsten som helhed kræver konstant opfindelse og forbedring af paradigmer, så kræver forbedringen af ​​den enkelte programmørs kunst, at han udvider sit repertoire af paradigmer.

Ifølge Robert Floyd kan programmeringsparadigmer således i modsætning til paradigmerne i den videnskabelige verden beskrevet af Kuhn kombineres, hvilket beriger programmørens værktøjskasse.

Forskellige definitioner

Ikke alle forfattere, der bruger begrebet "programmeringsparadigme", tør give en intens definition af dette begreb. Men selv de definitioner, der kan findes, er alvorligt forskellige fra hinanden.

Diomidis Spinellis giver følgende definition [3] :

Ordet "paradigme" bruges i programmering til at definere en familie af notationer (notationer), der deler en fælles måde (metode) for programimplementeringer.

Originaltekst  (engelsk)[ Visskjule] Ordet paradigme bruges i datalogi til at tale om en familie af notationer, der deler en fælles måde at beskrive programimplementeringer på

Til sammenligning citerer samme forfatter definitioner fra andre værker. I en artikel af Daniel Bobrov [4] er et paradigme defineret som " programmeringsstil som en beskrivelse af programmørens intentioner ". Bruce Shriver definerer programmeringsparadigme som " en model eller tilgang til at løse et problem " [5] , Linda Friedman som " en tilgang til at løse programmeringsproblemer ". [6]

Pamela Zave definerer et paradigme som " måde at tænke computersystemer på " . [7]

Peter Wegner tilbyder en anderledes tilgang til at definere begrebet programmeringsparadigme. I hans arbejde " Begreber og paradigmer for objektorienteret programmering " [8] defineres paradigmer som " regler for klassificering af programmeringssprog i henhold til nogle betingelser, der kan testes ".

Timothy Budd foreslår, at begrebet " paradigme " skal forstås som " en måde at begrebsliggøre, hvad det vil sige at 'beregne', og hvordan opgaver, der skal løses på en computer, skal struktureres og organiseres ". [9]

Programmeringsparadigmet som et indledende konceptuelt skema til at opstille problemer og løse dem er et redskab til den grammatiske beskrivelse af fakta, hændelser, fænomener og processer, der måske ikke eksisterer samtidigt, men intuitivt kombineres til et fælles begreb.

Grundlæggende programmeringsmodeller

Fremgangsmåder og teknikker

Se også

Noter

  1. Roganov, 2001 , underafsnit "Programmeringsparadigmer".
  2. RW Floyd. The Paradigms of Programming Arkiveret 11. februar 2007 på Wayback Machine Communications of the ACM , 22(8):455-460, 1979
  3. D.D. Spinellis. Programmeringsparadigmer som objektklasser: en struktureringsmekanisme til multiparadigmeprogrammering. Ph.d.-afhandling , University of London, London SW7 2BZ, Storbritannien, februar 1994.
  4. GD Bobrow. Hvis Prolog er svaret, hvad er så spørgsmålet. // Fifth Generation of Computer Systems , side 138-145, Tokyo, Japan, november 1984. Institute for New Generation Computer Technology (ICOT), Nordholland.
  5. BD Shriver. software paradigmer. IEEE Software, 3(1):2, januar 1986.
  6. LW Friedman. Sammenlignende programmeringssprog: generalisering af programmeringsfunktionen. Prentice Hall, 1991, side 188.
  7. P. Zave. En kompositorisk tilgang til multiparadigme programmering. IEEE Software, 6(5): 15-25, september 1989.
  8. P. Wegner. Begreber og paradigmer for objektorienteret programmering. {OOPS} messenger} , 1(1): 7-87, august 1990.
  9. T. A. Budd. Multi-paradigme programmering i LEDA. Addison-Wesley, Reading, Massachusetts, 1995.

Litteratur

Links