Lenguaje específico de dominio
tipo de lenguaje informático / De Wikipedia, la enciclopedia encyclopedia
Estimado Wikiwand AI, Seamos breves simplemente respondiendo estas preguntas clave:
¿Puede enumerar los principales datos y estadísticas sobre Lenguaje de dominio específico?
Resumir este artículo para un niño de 10 años
En desarrollo de software e ingeniería de dominio, un lenguaje específico de dominio, o "lenguaje específico del dominio", (en inglés domain-specific language, DSL) es un lenguaje de programación o especificación dedicado a resolver un problema en particular, representar un problema específico y proveer una técnica para solucionar una situación particular. El concepto no es nuevo pero se ha vuelto más popular debido al aumento del uso de modelos específicos del dominio.[1]
Ejemplos de lenguajes específicos del dominio incluyen, Logo para niños, Verilog y VHSIC, R y S para estadísticas, Mata para programación matricial, Mathematica y Maxima para matemáticas, fórmulas de hojas de cálculo y macros, SQL para consultas a bases de datos relacionales, Yacc para crear parseadores, expresiones regulares para crear análisis léxico, Generic Eclipse Modeling System para crear lenguajes con el objetivo de diagramar, Csound un lenguaje para síntesis digital, y los lenguajes de entrada de GraphViz y GrGen, paquetes de software usados para graficar y reescribir gráficas.
Lo opuesto es:
- un lenguaje de programación de propósito general, como por ejemplo C o Java.
- o un lenguaje de modelaje de propósito general como UML.
Crear un lenguaje específico del dominio (con software que lo soporte) vale la pena cuando permite que un tipo particular de problemas o soluciones puedan ser expresadas más claramente que con otros lenguajes existentes, y el tipo de problema en cuestión reaparece lo suficiente. La programación orientada a lenguajes considera la creación de lenguajes específicos para expresar problemas una parte estándar para el proceso de solucionar el problema.
Los lenguajes específicos de dominio se componen generalmente de una sintaxis abstracta y de una sintaxis concreta. La sintaxis abstracta se define por medio de un metamodelo que especifica las reglas del lenguaje, los elementos que lo componen, y las relaciones que existen entre ellos. Por su parte, la sintaxis concreta asocia a cada elemento del metamodelo una representación, ya sea textual o gráfica.[2]
En los DSL, la semántica del lenguaje está muy cercana al dominio del problema para el cual se diseña. Tienen un alto nivel de abstracción al usuario, por tanto, están dirigidos a expertos en el dominio.