Основное отличие языков общего назначения от предметно-ориентированных заключается в сфере применения. 14
Языки общего назначения (например, C, Pascal, Perl, Java, Python, Ruby, Racket и другие) предназначены для широкого спектра вычислительных задач. 3 Такие языки не учитывают особенности конкретных сфер знаний. 1
Предметно-ориентированные языки (DSL) специализированы для конкретной области применения. 14 Построение такого языка и/или его структура данных отражают специфику решаемых с его помощью задач. 14
Некоторые примеры языков общего назначения: Java, Cи и C#. 5 Примеры предметно-ориентированных языков: SQL, gawk и HTML. 5
Однако деление языков программирования на общие и специализированные весьма условно. 4 Существует множество языков общего назначения, которые применяются в качестве предметно-ориентированных для определённых задач, и наоборот, предметно-ориентированные языки, которые используются как языки общего назначения. 4