Lo que está describiendo es un ejemplo de un lenguaje específico de dominio (DSL). Las características y la sintaxis de un DSL generalmente se heredan del dominio que están modelando; la idea de usar modismos y construcciones que ya son familiares para alguien que conoce el dominio.
Para citar a Larry Wall, creador del lenguaje Perl, un buen lenguaje de programación hace que las tareas rutinarias sean fáciles y difíciles. (En su primera encarnación, Perl era un DSL orientado a tareas de administración de sistemas; ha evolucionado más allá de ese dominio a lo largo del tiempo). Entonces, para un DSL de edición de genes, comenzaría por identificar cuáles son las tareas rutinarias y diseñar un método de cómo Expresar esos problemas de una manera que sea relativamente fácil para la computadora traducir a un formulario ejecutable.
SQL es un buen ejemplo de un DSL: hace una cosa, que es consultar y manipular un conjunto de registros. También es un ejemplo de lenguaje de programación declarativo. En un lenguaje declarativo, usted describe qué resultado desea, en lugar de describir cómo obtener ese resultado; depende del motor de tiempo de ejecución crear un plan de ejecución que produzca el resultado que usted describe. La programación declarativa es un gran paradigma para las DSL donde la metodología ya se entiende bien y usted está enfocado en aplicar esa metodología para obtener una respuesta con el menor esfuerzo posible.
- ¿Qué pasaría si eligiéramos un presidente musulmán en 2016?
- ¿Cómo sería Estados Unidos si los cigarrillos y los cigarros estuvieran prohibidos como lo están las drogas duras?
- ¿Qué pensarías de la tragedia de la estampida recientemente en Shanghai?
- ¿Cómo sería Harry Potter si Dostoievsky lo escribiera?
- ¿Cuál sería la historia si le digo que cree una precuela de Game of Thrones en una sola temporada?