Programmeringsparadigm

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 mars 2022; kontroller kräver 2 redigeringar .

Ett programmeringsparadigm  är en uppsättning idéer och begrepp som definierar stilen för att skriva datorprogram (inställning till programmering). Detta är ett sätt att konceptualisera som bestämmer organiseringen av beräkningar och struktureringen av arbetet som utförs av en dator [1] .

Ett programmeringsparadigm är inte unikt definierat av ett programmeringsspråk; nästan alla moderna programmeringsspråk tillåter i viss mån användning av olika paradigm ( multiparadigmprogrammering ). I C-språket , som inte är objektorienterat, är det alltså möjligt att arbeta i enlighet med principerna för objektorienterad programmering, även om detta är förenat med vissa svårigheter; funktionell programmering kan användas när man arbetar i alla imperativa språk som har funktioner och så vidare.

Befintliga paradigm skär också ofta varandra i detalj (till exempel modulär och objektorienterad programmering), så du kan hitta situationer där olika författare använder namn från olika paradigm, samtidigt som de faktiskt talar om samma fenomen.

Termens historia

Termen "paradigm" har tydligen att tacka Thomas Kuhn och hans bok " The Structure of Scientific Revolutions " (se paradigm ) sin moderna betydelse inom det vetenskapliga och tekniska området. Kuhn kallade paradigm för de etablerade system av vetenskapliga övertygelser inom vilka forskning bedrivs. Enligt Kuhn, i processen att utveckla en vetenskaplig disciplin, kan ett paradigm ersättas av ett annat (som till exempel Ptolemaios geocentriska himlamekanik ersattes av Copernicus heliocentriska system ), medan det gamla paradigmet fortsätter att existera för tid och till och med utvecklas på grund av det faktum att många av dess supportrar visar sig vara av en eller annan anledning, de kan inte anpassa sig till att arbeta i ett annat paradigm.

Termen "programmeringsparadigm" användes första gången 1978 av Robert Floyd i hans Turing Award- föreläsning [2] .

Floyd noterar att man i programmering kan observera ett fenomen som liknar Kuhns paradigm, men till skillnad från dem utesluter inte programmeringsparadigm varandra:

Om utvecklingen av programmeringskonsten som helhet kräver konstant uppfinning och förbättring av paradigm, så kräver förbättringen av den individuella programmerarens konst att han utökar sin repertoar av paradigm.

Enligt Robert Floyd kan alltså programmeringsparadigm kombineras, i motsats till paradigmen i den vetenskapliga världen som Kuhn beskrev, vilket berikar programmerarens verktygslåda.

Olika definitioner

Alla författare som använder termen "programmeringsparadigm" vågar inte ge en intensiv definition av detta begrepp. Men även de definitioner som kan hittas skiljer sig allvarligt från varandra.

Diomidis Spinellis ger följande definition [3] :

Ordet "paradigm" används i programmering för att definiera en familj av notationer (notationer) som delar ett gemensamt sätt (metodik) för programimplementering.

Originaltext  (engelska)[ visaDölj] Ordet paradigm används inom datavetenskap för att tala om en familj av notationer som delar ett gemensamt sätt att beskriva programimplementeringar

Som jämförelse citerar samma författare definitioner från andra verk. I en artikel av Daniel Bobrov [4] definieras ett paradigm som " programmeringsstil som en beskrivning av programmerarens avsikter ". Bruce Shriver definierar programmeringsparadigm som " en modell eller tillvägagångssätt för att lösa ett problem " [5] , Linda Friedman som " ett förhållningssätt för att lösa programmeringsproblem ". [6]

Pamela Zave definierar ett paradigm som " sätt att tänka om datorsystem " . [7]

Peter Wegner erbjuder ett annat tillvägagångssätt för att definiera termen programmeringsparadigm. I hans arbete " Concepts and paradigms of object-oriented programmering " [8] definieras paradigm som " regler för att klassificera programmeringsspråk enligt vissa villkor som kan testas ".

Timothy Budd föreslår att termen " paradigm " ska förstås som " ett sätt att konceptualisera vad det innebär att "beräkna" och hur uppgifter som ska lösas på en dator bör struktureras och organiseras ". [9]

Programmeringsparadigmet som ett initialt konceptuellt schema för att ställa problem och lösa dem är ett verktyg för grammatisk beskrivning av fakta, händelser, fenomen och processer som kanske inte existerar samtidigt, utan intuitivt kombineras till ett gemensamt koncept.

Grundläggande programmeringsmodeller

Tillvägagångssätt och tekniker

Se även

Anteckningar

  1. Roganov, 2001 , underavsnitt "Programmeringsparadigm".
  2. RW Floyd. The Paradigms of Programming Arkiverad 11 februari 2007 på Wayback Machine Communications of the ACM , 22(8):455-460, 1979
  3. D.D. Spinellis. Programmeringsparadigm som objektklasser: en struktureringsmekanism för multiparadigmprogrammering. Doktorsavhandling , University of London, London SW7 2BZ, Storbritannien, februari 1994.
  4. GD Bobrow. Om Prolog är svaret, vad är frågan. // Femte generationens datorsystem , sidorna 138-145, Tokyo, Japan, november 1984. Institutet för ny generation datorteknik (ICOT), Nord-Holland.
  5. BD Shriver. mjukvaruparadigm. IEEE Software, 3(1):2, januari 1986.
  6. LW Friedman. Jämförande programmeringsspråk: generalisering av programmeringsfunktionen. Prentice Hall, 1991, sid 188.
  7. P. Zave. En sammansättningsmetod för multiparadigm programmering. IEEE Software, 6(5): 15-25, september 1989.
  8. P. Wegner. Begrepp och paradigm för objektorienterad programmering. {OOPS} messenger} , 1(1): 7-87, augusti 1990.
  9. T. A. Budd. Multi-Paradigm Programmering i LEDA. Addison-Wesley, Reading, Massachusetts, 1995.

Litteratur

Länkar