Språkorienterad programmering (LOP) är en typ av programmeringsspråk som definieras av användaren, beroende på vilken domän han programmerar. Domänen är viktig för att definiera språkorienterad programmering, så det måste anges specifikt när användaren börjar använda detta språk. LOP baseras normalt på en större typ av programmeringsspråk, men så är inte alltid fallet. LOP är gjord specifikt för en domän och har många anpassningsbara områden, så detta språk är vanligtvis dåligt på att skala upp för stora och komplexa problem. Innan detta språk kan användas måste användaren också definiera och kompilera språket manuellt.
I vid mening kan programmeringsspråk delas upp i antingen domänspecifika eller allmänna språk. Språkorienterad programmering tillhör den förstnämnda, vilket innebär att den måste specificeras för en viss domän. Denna domän hänvisar till var programmet kommer att användas och vilken typ av problem språket kommer att arbeta med och lösa. Även om detta inte är lika mångsidigt som ett allmänt språk, gör det ofta programmering enklare att slutföra.
Majoriteten av språkinriktade programmeringsspråk är först baserade på ett större allmänt programmeringsspråk. Detta eftersom det är lättare att bygga ett språk som är baserat på ett annat, och en användare som är bekant med det allmänna språket borde ha lättare att börja med LOP. Den primära skillnaden mellan LOP och det ursprungliga allmänna språket är taggarna, och många aspekter av programmeringsspråket är baserade på taggar som användaren anger att han vill använda, och omvandlar språket till användarens specifikationer.
Att vara domänspecifik och baserad på användarens specifikation ger många fördelar, men en av nackdelarna med detta system är bristen på skalning. När det kommer till mindre problem borde språkorienterad programmering inte ha några problem att arbeta med och lösa problemet. Samtidigt är större problem vanligtvis mer intensiva än vad detta språk kan hantera, och det är vanligtvis bättre att hålla fast vid ett större allmänt språk om skalning krävs.
Ett annat problem med språkorienterad programmering är det arbete som krävs innan språket kan användas. Ett programmeringsspråk är normalt tillgängligt för användning med lite eller inget arbete, men LOP kräver att användaren anger taggar och sektioner, vilket kan ta tid. Det större problemet är att användaren kommer att behöva bygga en anpassad kompilator för att få programmeringsspråket att fungera, och detta kan vara svårt för en ny användare.