Wat is taalgericht programmeren?
Taalgericht programmeren (LOP) is een soort programmeertaal die door de gebruiker wordt gedefinieerd, afhankelijk van het domein waarvoor hij programmeert. Het domein is belangrijk bij het definiëren van taalgericht programmeren, dus het moet specifiek worden vermeld wanneer de gebruiker deze taal begint te gebruiken. LOP is normaal gesproken gebaseerd op een groter type programmeertaal, maar dit is niet altijd het geval. LOP is specifiek gemaakt voor een domein en heeft veel aanpasbare gebieden, dus deze taal is meestal slecht in het opschalen voor grote en complexe problemen. Voordat deze taal bruikbaar is, moet de gebruiker de taal ook handmatig definiëren en compileren.
In brede zin kunnen programmeertalen worden onderverdeeld in domeinspecifieke of algemene talen. Taalgericht programmeren behoort tot het eerste, wat betekent dat het voor een bepaald domein moet worden gespecificeerd. Dit domein verwijst naar waar het programma zal worden gebruikt en met welk type problemen de taal zal werken en oplossen. Hoewel dit niet zo veelzijdig is als een algemene taal, maakt het programmeren vaak eenvoudiger om te voltooien.
De meeste taalgerichte programmeertalen zijn eerst gebaseerd op een grotere algemene programmeertaal. Dit komt omdat het eenvoudiger is om een taal te bouwen die op een andere taal is gebaseerd, en een gebruiker die bekend is met de algemene taal, zou het gemakkelijker vinden om met LOP te beginnen. Het primaire verschil tussen LOP en de oorspronkelijke algemene taal zijn de tags, en veel aspecten van de programmeertaal zijn gebaseerd op tags die de gebruiker opgeeft die hij wil gebruiken, waarbij de taal wordt aangepast aan de specificaties van de gebruiker.
Het zijn domeinspecifiek en gebaseerd op de specificaties van de gebruiker biedt veel voordelen, maar een van de nadelen van dit systeem is het gebrek aan schaling. Als het gaat om kleinere problemen, zou taalgericht programmeren geen probleem moeten zijn om mee te werken en het probleem op te lossen. Tegelijkertijd zijn grotere problemen meestal intensiever dan deze taal aankan en is het meestal beter om een grotere algemene taal te gebruiken als schalen vereist is.
Een ander probleem met taalgericht programmeren is het werk dat nodig is voordat de taal kan worden gebruikt. Een programmeertaal is normaal gesproken beschikbaar voor gebruik met weinig of geen werk, maar LOP vereist dat de gebruiker tags en secties opgeeft, wat tijd kan kosten. Het grotere probleem is dat de gebruiker een aangepaste compiler moet bouwen om de programmeertaal te laten werken, en dit kan moeilijk zijn voor een nieuwe gebruiker.