Programarea orientată pe limbaj (LOP) este un tip de limbaj de programare care este definit de utilizator, în funcție de domeniul pentru care programează. Domeniul este important în definirea programării orientate pe limbaj, așa că trebuie specificat în mod specific când utilizatorul începe să folosească acest limbaj. LOP se bazează în mod normal pe un tip mai mare de limbaj de programare, dar nu este întotdeauna cazul. LOP este creat special pentru un domeniu și are multe zone personalizabile, astfel încât acest limbaj este de obicei slab la scalare pentru probleme mari și complexe. Înainte ca acest limbaj să fie utilizabil, utilizatorul trebuie să definească și să compilați limba manual.
Într-un sens larg, limbajele de programare pot fi separate fie în limbaje specifice domeniului, fie în limbaje generale. Programarea orientată pe limbaj aparține primei, adică trebuie specificată pentru un anumit domeniu. Acest domeniu se referă la locul în care va fi utilizat programul și la ce tip de probleme va lucra și va rezolva limbajul. Deși acesta nu este la fel de versatil ca un limbaj general, deseori face programarea mai ușor de finalizat.
Majoritatea limbajelor de programare orientate pe limbaj se bazează mai întâi pe un limbaj de programare general mai mare. Acest lucru se datorează faptului că este mai ușor să construiți un limbaj care se bazează pe altul, iar un utilizator familiarizat cu limbajul general ar trebui să înceapă mai ușor cu LOP. Diferența principală dintre LOP și limbajul general original este etichetele, iar multe aspecte ale limbajului de programare se bazează pe etichete pe care utilizatorul le specifică pe care dorește să le folosească, transformând limba la specificațiile utilizatorului.
Fiind specific domeniului și bazat pe specificația utilizatorului prezintă multe avantaje, dar unul dintre dezavantajele acestui sistem este lipsa de scalare. Când vine vorba de probleme mai mici, programarea orientată pe limbaj nu ar trebui să aibă nicio problemă să lucreze și să rezolve problema. În același timp, problemele mai mari sunt de obicei mai intense decât este capabil să gestioneze acest limbaj și, de obicei, este mai bine să rămâneți cu un limbaj general mai mare dacă este necesară scalarea.
O altă problemă cu programarea orientată pe limbaj este munca necesară înainte ca limbajul să poată fi utilizat. Un limbaj de programare este în mod normal disponibil pentru a fi folosit cu puțină sau deloc lucru, dar LOP necesită ca utilizatorul să specifice etichete și secțiuni, ceea ce poate dura timp. Problema mai mare este că utilizatorul va trebui să construiască un compilator personalizat pentru ca limbajul de programare să funcționeze, iar acest lucru poate fi dificil pentru un utilizator nou.