Hvad er sprogorienteret programmering?
Sprogorienteret programmering (LOP) er en type programmeringssprog, der defineres af brugeren, afhængigt af det domæne, som han programmerer til. Domænet er vigtigt for at definere sprogorienteret programmering, så det skal specifikt angives, når brugeren begynder at bruge dette sprog. LOP er normalt baseret på en større type programmeringssprog, men det er ikke altid tilfældet. LOP er lavet specifikt til et domæne og har mange områder, der kan tilpasses, så dette sprog er normalt dårligt til at skalere op for store og komplekse problemer. Inden dette sprog kan bruges, skal brugeren også definere og kompilere sproget manuelt.
I bred forstand kan programmeringssprog adskilles i enten domænespecifikt eller generelle sprog. Sprogorienteret programmering hører til førstnævnte, hvilket betyder, at det skal specificeres for et bestemt domæne. Dette domæne refererer til, hvor programmet vil blive brugt, og hvilken type problemer sproget vil arbejde med og løse. Selvom dette ikke er så alsidigt som et generelt sprog, gør det ofte programmeringen enklere at gennemføre.
Størstedelen af sprogorienterede programmeringssprog er først baseret på et større generelt programmeringssprog. Dette skyldes, at det er lettere at opbygge et sprog, der er baseret på et andet, og en bruger, der er fortrolig med det generelle sprog, skal finde det lettere at starte med LOP. Den primære forskel mellem LOP og det oprindelige generelle sprog er tags, og mange aspekter af programmeringssproget er baseret på tags, som brugeren specificerer, at han vil bruge, idet sproget tilpasses brugerens specifikationer.
At være domænespecifik og baseret på brugerens specifikation giver mange fordele, men en af ulemperne ved dette system er manglen på skalering. Når det kommer til mindre problemer, bør sprogorienteret programmering ikke have noget problem med at arbejde med og løse problemet. På samme tid er større problemer typisk mere intensive, end dette sprog er i stand til at håndtere, og det er normalt bedre at holde sig til et større generelt sprog, hvis skalering er påkrævet.
Et andet problem med sprogorienteret programmering er det nødvendige arbejde, før sproget kan bruges. Et programmeringssprog er normalt tilgængeligt til brug med lidt eller intet arbejde, men LOP kræver, at brugeren specificerer tags og sektioner, som kan tage tid. Det større problem er, at brugeren bliver nødt til at bygge en brugerdefineret compiler for at få programmeringssproget til at fungere, og dette kan være vanskeligt for en ny bruger.