»Programska domena« v računalništvu in računalniškem programiranju je splošen izraz, ki se nanaša na področje ali problem, v katerem je program, programski jezik ali jezikovna sintaksa zasnovana za delovanje ali reševanje. Izraz se najpogosteje uporablja pri sklicevanju na domensko specifične programske jezike, ki so programski jeziki, ki so zasnovani tako, da posebej obravnavajo potrebe posameznega področja ali težave. Prave formalne specifikacije za to, kaj je ali ni programska domena, ni, čeprav obstajajo nekatere pogosto uporabljene široke kategorije, kot so posel, internet in mreženje, ter nekaj bolj specifičnih domen, kot je optično prepoznavanje ali sporočanje. Izraz je dokaj abstrakten, zato se najpogosteje uporablja med akademskimi raziskavami ali v fazi načrtovanja razvoja programske opreme.
Eden od namenov definiranja programske domene je lahko pomagati pri modeliranju domensko specifičnega programskega jezika. To pomeni, da če je programska domena opredeljena kot internetna e-pošta, bo programski jezik oblikovan v začetni fazi načrtovanja posebej za reševanje vprašanj, povezanih samo z internetno e-pošto, običajno na zelo visoki ravni za končnega programerja. V tem primeru lahko programski jezik, specifičen za domeno za programsko domeno internetne e-pošte, vključuje ukaze, kot sta »send_to_address« ali »check_valid_address«, ki se uporabljajo za reševanje specifičnih omrežnih težav, povezanih z internetno e-pošto, vendar nimajo širšega, splošnejšega namena poleg tega .
V širšem smislu je programska domena lahko pomemben koncept tudi pri uporabi domensko vodenega načrtovanja. Ta vrsta vzorca načrtovanja programske opreme opremi programski jezik in celotno aplikacijsko infrastrukturo ter krmilno logiko okoli domene. S povezovanjem programske domene na različne nivoje in stopnje razvoja se pojavi kontekst določenih delov aplikacije in v zelo kompleksnih programih lahko programerjem in inženirjem olajša reševanje problemov in vizualizacijo notranjega delovanja programa.
Zaplet, na katerega lahko naletimo v širši industriji razvoja programske opreme, je, da čeprav številne razvojne ekipe morda uporabljajo programsko domeno in z domeno povezane modele, ni standardizacije o tem, kaj domena dejansko vključuje, kako je poimenovana ali kako bi morala biti vizualiziran. Kar bi eno podjetje lahko imenovalo poslovna domena, bi lahko drugo podjetje imenovalo domena podjetja. Ko eno podjetje razvije aplikacije, vzorce in okvire za določeno domeno, jih je mogoče objaviti, oglaševati ali prodati kot razvojna orodja ali rešitve za drugo podjetje, ki morda deluje v isti domeni. Brez standarda za poimenovanje domen bi obstoječe rešitve, ki temeljijo na domeni, lahko ostale popolnoma neopažene.