Į kalbą orientuotas programavimas (LOP) yra programavimo kalbos tipas, kurį apibrėžia vartotojas, atsižvelgdamas į domeną, kuriam jis programuoja. Domenas yra svarbus apibrėžiant į kalbą orientuotą programavimą, todėl jis turi būti konkrečiai nurodytas, kai vartotojas pradeda naudoti šią kalbą. LOP paprastai yra pagrįsta didesnio tipo programavimo kalba, tačiau taip yra ne visada. LOP sukurta specialiai domenui ir turi daug tinkinamų sričių, todėl ši kalba paprastai prastai tinka didelėms ir sudėtingoms problemoms spręsti. Prieš pradedant naudoti šią kalbą, vartotojas taip pat turi apibrėžti ir sukompiliuoti kalbą rankiniu būdu.
Plačiąja prasme programavimo kalbas galima suskirstyti į specifines arba bendrąsias kalbas. Į kalbą orientuotas programavimas priklauso pirmajam, tai reiškia, kad jis turi būti nurodytas tam tikram domenui. Šis domenas nurodo, kur programa bus naudojama ir kokio tipo problemas kalba veiks ir išspręs. Nors tai nėra tokia universali kaip bendroji kalba, ji dažnai palengvina programavimą.
Dauguma į kalbas orientuotų programavimo kalbų pirmiausia yra pagrįstos didesne bendra programavimo kalba. Taip yra todėl, kad lengviau sukurti kalbą, pagrįstą kita, o vartotojui, susipažinusiam su bendrine kalba, turėtų būti lengviau pradėti nuo LOP. Pagrindinis skirtumas tarp LOP ir originalios bendrosios kalbos yra žymos, o daugelis programavimo kalbos aspektų yra pagrįsti vartotojo nurodytomis žymomis, kurias jis nori naudoti, pakeičiant kalbą pagal vartotojo specifikacijas.
Priklausomai nuo domeno ir atsižvelgiant į vartotojo specifikacijas, yra daug privalumų, tačiau vienas iš šios sistemos trūkumų yra mastelio stygius. Kalbant apie smulkesnes problemas, į kalbą orientuotam programavimui neturėtų kilti problemų dirbant ir sprendžiant problemą. Tuo pačiu metu didesnės problemos paprastai yra intensyvesnės, nei gali išspręsti ši kalba, ir paprastai geriau pasirinkti didesnę bendrąją kalbą, jei reikia keisti mastelį.
Kita į kalbą orientuoto programavimo problema yra darbas, kurio reikia norint naudoti kalbą. Paprastai programavimo kalbą galima naudoti su mažai arba be jokio darbo, tačiau LOP reikalauja, kad vartotojas nurodytų žymes ir skyrius, o tai gali užtrukti. Didesnė problema yra ta, kad vartotojas turės sukurti pasirinktinį kompiliatorių, kad programavimo kalba veiktų, o tai gali būti sudėtinga naujam vartotojui.