b'\n_START_ARTICLE_\nGenerisk programmering\n_START_PARAGRAPH_\nGenerisk programmering, \xc3\xa4ven metaprogrammering, \xc3\xa4r en programmeringsmetod d\xc3\xa4r utvecklaren definierar algoritmer via datatyper  vilka utel\xc3\xa4mnas f\xc3\xb6r att specificeras vid en senare fas i programbyggandet. Programkoden blir med detta mer flexibel och modul\xc3\xa4r genom att algoritmer kan anv\xc3\xa4ndas och \xc3\xa5teranv\xc3\xa4ndas f\xc3\xb6r olika datatyper. Id\xc3\xa9n kommer ursprungligen fr\xc3\xa5n programspr\xc3\xa5ket ML . _NEWLINE_Beteckningen anv\xc3\xa4ndes officiellt f\xc3\xb6r f\xc3\xb6rsta g\xc3\xa5ngen av Musser & Stepanov (1989).\n_START_SECTION_\nStepanov\xe2\x80\x93Musser and och andra typer av generisk programmering\n_START_PARAGRAPH_\nEn definition p\xc3\xa5 generisk programmering finns i Musser & Stepanov (1989) och lyder, _NEWLINE_Generic programming centers around the idea of abstracting from concrete, efficient algorithms to obtain generic algorithms that can be combined with differnet data representations to produce a wide variety of useful software._NEWLINE_Generisk programmering \xc3\xa4r en paradigm och ett angreppss\xc3\xa4tt f\xc3\xb6r att strukturera mjukvara, d\xc3\xa4r fundamentala krav p\xc3\xa5 typer abstraheras bort fr\xc3\xa5n konkreta implementationen av algoritmer och datastrukturer och formaliseras som koncept (Concepts), analogt med abstraktionen av algebraiska teorier som f\xc3\xb6rekommer i abstrakt algebra. Tidiga exempel p\xc3\xa5 denna teknik hittas i Scheme och Ada  men den b\xc3\xa4st k\xc3\xa4nda \xc3\xa4r fr\xc3\xa5n C++ Standard Template Library (STL)  vilken utvecklade en teori f\xc3\xb6r iteratorer som anv\xc3\xa4nds f\xc3\xb6r att skilja sekventiella datastrukturer fr\xc3\xa5n de algoritmer som anv\xc3\xa4nds f\xc3\xb6r att bearbeta dem._NEWLINE_Programspr\xc3\xa5ket C++ utvecklare Bjarne Stroustrup noterar,_NEWLINE_Following Stepanov, we can define generic programming without mentioning language features: Lift algorithms and data structures from concrete examples to their most general and abstract form.'