La programmazione orientata al linguaggio (LOP) è un tipo di linguaggio di programmazione definito dall’utente, a seconda del dominio per il quale sta programmando. Il dominio è importante nella definizione della programmazione orientata al linguaggio, quindi deve essere specificato in modo specifico quando l’utente inizia a utilizzare questo linguaggio. LOP normalmente si basa su un tipo di linguaggio di programmazione più ampio, ma non è sempre così. LOP è creato appositamente per un dominio e ha molte aree personalizzabili, quindi questo linguaggio di solito è scarso nello scalare per problemi grandi e complessi. Prima che questa lingua sia utilizzabile, l’utente deve anche definire e compilare manualmente la lingua.
In senso lato, i linguaggi di programmazione possono essere separati in linguaggi specifici del dominio o generali. La programmazione orientata al linguaggio appartiene alla prima, il che significa che deve essere specificata per un determinato dominio. Questo dominio si riferisce a dove verrà utilizzato il programma e con quale tipo di problemi la lingua funzionerà e risolverà. Sebbene questo non sia versatile come un linguaggio generale, spesso rende la programmazione più semplice da completare.
La maggior parte dei linguaggi di programmazione orientati al linguaggio si basa innanzitutto su un linguaggio di programmazione generale più ampio. Questo perché è più facile creare un linguaggio basato su un altro e un utente che ha familiarità con il linguaggio generale dovrebbe trovare più facile iniziare con LOP. La differenza principale tra LOP e il linguaggio generale originale sono i tag e molti aspetti del linguaggio di programmazione si basano sui tag che l’utente specifica di voler utilizzare, trasformando il linguaggio in base alle specifiche dell’utente.
Essendo specifico del dominio e basato sulle specifiche dell’utente presenta molti vantaggi, ma uno degli svantaggi di questo sistema è la mancanza di scalabilità. Quando si tratta di problemi minori, la programmazione orientata al linguaggio non dovrebbe avere problemi a lavorare e risolvere il problema. Allo stesso tempo, i problemi più grandi in genere sono più intensivi di quanto questo linguaggio sia in grado di gestire, e di solito è meglio attenersi a un linguaggio generale più ampio se è richiesto il ridimensionamento.
Un altro problema con la programmazione orientata al linguaggio è il lavoro necessario prima che il linguaggio possa essere utilizzato. Un linguaggio di programmazione normalmente è disponibile per l’uso con poco o nessun lavoro, ma LOP richiede che l’utente specifichi tag e sezioni, il che può richiedere tempo. Il problema più grande è che l’utente dovrà creare un compilatore personalizzato per far funzionare il linguaggio di programmazione e questo può essere difficile per un nuovo utente.