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.
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.
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 programimplementeringarSom 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.
Ordböcker och uppslagsverk | |
---|---|
I bibliografiska kataloger |
Mjukvaruutveckling | |
---|---|
Bearbeta | |
Koncept på hög nivå | |
Vägbeskrivning |
|
Utvecklingsmetoder _ | |
Modeller |
|
Anmärkningsvärda siffror |
|