“Domena programiranja” u informatici i računalnom programiranju je opći pojam koji se odnosi na područje ili problem u kojem je program, programski jezik ili sintaksa jezika osmišljeni za rad ili rješavanje. Izraz se najčešće koristi kada se referira na programske jezike specifične za domenu, a to su programski jezici koji su dizajnirani da specifično odgovore na potrebe jednog područja ili problema. Ne postoji stvarna formalna specifikacija za ono što jest ili nije programska domena, iako postoje neke uobičajeno korištene široke kategorije, kao što su posao, internet i umrežavanje, te neke specifičnije domene, poput optičkog prepoznavanja ili poruka. Pojam je prilično apstraktan, pa se najčešće primjenjuje tijekom akademskog istraživanja ili tijekom faze dizajna razvoja softvera.
Jedna svrha definiranja programske domene može biti pomoć u modeliranju programskog jezika specifičnog za domenu. To znači da, ako je programska domena definirana kao internetska e-pošta, tada će programski jezik biti dizajniran tijekom početne faze dizajna posebno za rješavanje problema povezanih samo s internetskom e-poštom, obično na vrlo visokoj razini za krajnjeg programera. U ovom primjeru, programski jezik specifičan za domenu internetske programske domene e-pošte mogao bi uključivati naredbe kao što su “send_to_address” ili “check_valid_address” koje se koriste za rješavanje specifičnih mrežnih problema povezanih s internetskom e-poštom, ali nemaju širu, općeniju svrhu osim toga .
U širem smislu, programska domena također može biti važan koncept kada se koristi dizajn vođen domenom. Ova vrsta uzorka dizajna softvera upravlja programskim jezikom i cjelokupnom aplikacijskom infrastrukturom i kontrolnom logikom oko domene. Povezivanjem domene programiranja s različitim razinama i fazama razvoja, pojavljuje se kontekst pojedinih dijelova aplikacije i u vrlo složenim programima može olakšati programerima i inženjerima rješavanje problema i vizualizaciju unutarnjeg funkcioniranja programa.
Komplikacija na koju se može naići u široj industriji razvoja softvera je da, iako mnogi razvojni timovi možda koriste programsku domenu i modele povezane s domenom, ne postoji standardizacija o tome što domena zapravo podrazumijeva, kako se zove ili kako bi trebala biti vizualiziran. Ono što bi jedna tvrtka mogla nazvati poslovnom domenom, druga bi tvrtka mogla nazvati domenom poduzeća. Kada jedna tvrtka razvije aplikacije, obrasce i okvire za određenu domenu, oni se mogu objaviti, oglašavati ili prodati kao razvojni alati ili rješenja za drugu tvrtku koja bi mogla raditi u istoj domeni. Bez standarda za imenovanje domena, postojeća rješenja temeljena na domeni mogla bi proći potpuno nezapaženo.