Geneerinen ohjelmointi on ohjelmointimenetelmä, jossa algoritmit kirjoitetaan metatyypeillä tai varsinainen tietotyyppi määritellään myöhemmin.
Keskeinen käsite on geneerisessä ohjelmoinnissa on abstraktointi:[1]
Geneerisessä ohjelmoinnissa termillä konsepti (engl. concept) tarkoitetaan joukkoa abrastraktioita (tyypillisesti tyyppijärjestelmän tyyppejä).[2]
Menetelmä mahdollistaa algoritmien ja funktioiden käyttämisen uudelleen kirjoittamatta ohjelmakoodia eri tietotyypeille erikseen.
Esimerkki menetelmän käytöstä on C++ ohjelmointikielen template-mallit ja tarkemmin sen standardimallikirjasto.[3]