Kielipohjainen ohjelmointi (LOP) on eräänlainen ohjelmointikieli, jonka käyttäjä määrittelee sen mukaan, mihin verkkotunnukseen hän ohjelmoi. Verkkotunnus on tärkeä kielipohjaisen ohjelmoinnin määrittelyssä, joten se on ilmoitettava erikseen, kun käyttäjä alkaa käyttää tätä kieltä. LOP perustuu yleensä suurempaan ohjelmointikieleen, mutta näin ei aina ole. LOP on tehty erityisesti verkkotunnukselle ja sillä on monia muokattavia alueita, joten tämä kieli on yleensä huono skaalaamaan suuria ja monimutkaisia ongelmia. Ennen kuin tämä kieli on käytettävissä, käyttäjän on myös määritettävä ja käännettävä kieli manuaalisesti.
Laajassa merkityksessä ohjelmointikielet voidaan jakaa joko alakohtaisiin tai yleisiin kieliin. Kielipohjainen ohjelmointi kuuluu edelliseen, mikä tarkoittaa, että se on määritettävä tietylle alueelle. Tämä alue viittaa siihen, missä ohjelmaa käytetään ja millaisia ongelmia kieli toimii ja ratkaisee. Vaikka tämä ei ole niin monipuolinen kuin yleinen kieli, se tekee usein ohjelmoinnin yksinkertaisemmaksi.
Suurin osa kielikeskeisistä ohjelmointikielistä perustuu ensin suurempaan yleiseen ohjelmointikieleen. Tämä johtuu siitä, että on helpompi rakentaa kieli, joka perustuu toiseen, ja käyttäjän, joka tuntee yleisen kielen, pitäisi olla helpompi aloittaa LOP: lla. Ensisijainen ero LOP: n ja alkuperäisen yleisen kielen välillä on tunnisteet, ja monet ohjelmointikielen näkökohdat perustuvat tunnisteisiin, jotka käyttäjä määrittelee haluavansa käyttää, muokkaamalla kielen käyttäjän määritelmien mukaan.
Koska verkkotunnus on spesifinen ja perustuu käyttäjän määritykseen, sillä on monia etuja, mutta yksi tämän järjestelmän haitoista on skaalauksen puute. Kun on kyse pienistä ongelmista, kielipohjaisella ohjelmoinnilla ei pitäisi olla ongelmia työskennellä ja ratkaista ongelma. Samaan aikaan suuret ongelmat ovat tyypillisesti voimakkaampia kuin tämä kieli pystyy käsittelemään, ja yleensä on parempi pysyä suurempana yleiskielenä, jos skaalaus on tarpeen.
Toinen kielipohjaisen ohjelmoinnin ongelma on ennen kielen käyttöä tarvittava työ. Ohjelmointikieli on normaalisti käytettävissä vain vähän tai ei lainkaan työtä, mutta LOP edellyttää, että käyttäjä määrittelee tunnisteet ja osiot, mikä voi viedä aikaa. Suurempi ongelma on, että käyttäjän on luotava mukautettu kääntäjä, jotta ohjelmointikieli toimisi, ja tämä voi olla vaikeaa uudelle käyttäjälle.