Vad är generisk programmering?

Generisk programmering är en populär typ av datorprogrammering skriven på ett sådant sätt att den skapar den mest effektiva koden som möjligt samtidigt som koden kan tillämpas på så många situationer som möjligt utan att kräva några ändringar av själva originalkoden. När koden är skriven kan den bara utföra de exakta funktionerna den skrevs för. Genom att använda generisk programmering för att skapa koder som fungerar i ett antal olika situationer, samtidigt som de utför samma grundläggande, övergripande funktion, kan programmerare använda en enda kod i olika program utan att någonsin göra ändringar i originalet.

Under 1970-talet gjorde generisk programmering sin debut i programmeringsspråken Ada och CLU. Strax efter började andra programmeringsspråk som Java och C++ använda generisk programmering för att förenkla programmeringskoden samtidigt som samma kod kunde användas i flera scenarier. Varje programmeringsspråk har ett speciellt sätt att använda denna kod och olika termer för att beskriva den. ”Generics”, ”mallar” och ”parameteriserade typer” har alla använts vid någon eller annan punkt för att referera till instanser av generisk programmering.

För att förstå denna typ av programmering är det viktigt att känna till de grundläggande koncepten för hur ett programmeringsspråk fungerar. Om till exempel Paul vill skriva ett program som adderar två siffror, skulle han skriva ut datorkoden för att lägga till två objekt. Han skulle sedan berätta för datorn att de två objekten är siffror och att det slutliga svaret också borde vara ett nummer.

Även om programmet kommer att fungera så länge Paul lägger till två siffror, kommer det att krascha om han försöker lägga ihop något annat. Om Paul bestämde sig för att sätta ihop meningar för att bilda ett stycke, skulle programmet krascha eftersom det skulle hitta bokstäver och inte siffror. Paul kunde dock åtgärda detta problem genom att använda generisk programmering för att tala om för det ursprungliga programmet att acceptera ett antal variabler – både siffror och bokstäver – och på så sätt kunde programmet skapa meningar eller utföra addition.

Alla programmeringsspråk behöver inte begreppet generisk programmering för att de ska vara effektiva. De som använder det är statiskt skrivna språk. Det betyder helt enkelt att koden är huggen i sten, så att säga, och inte kan ändras medan programmet körs. Av denna anledning, om en programmerare specificerade att indata från användaren skulle vara i form av bokstäver och användaren skrev ett nummer, kunde inte programmet använda inmatningen. Således försöker programmerare att förutse alla logiska datatyper som en användare kan mata in, vare sig det är siffror, bokstäver eller symboler, och skapa ett program som kan justera därefter.