¿Los lenguajes no completos de Turing se consideran lenguajes de programación? [cerrado]

7

Leyendo una pregunta reciente: ¿Es realmente posible tener un lenguaje de programación 'útil' que no esté completo Turing? , me pregunto si los lenguajes de programación no completos de Turing se consideran lenguajes de programación.

Dado que Turing-completitud significa que un lenguaje debe tener variables para almacenar valores así como estructuras de control (para, while) ... ¿Un lenguaje que carece de estas características se considera un lenguaje de programación?

    
pregunta Tulains Córdova 31.10.2012 - 04:03

1 respuesta

18

Si desea o no llamarlos "lenguajes de programación" depende de su definición, pero en mi opinión, la respuesta es sí : puede considerar un lenguaje completo no turístico como un lenguaje de programación.

Considere la siguiente definición (de Wikipedia):

  

Un lenguaje de programación es un lenguaje artificial diseñado para   comunicar instrucciones a una máquina, particularmente una computadora.   Los lenguajes de programación se pueden utilizar para crear programas que controlan la   Comportamiento de una máquina y / o para expresar algoritmos con precisión.

Un DSL completo no turístico podría cumplir fácilmente todos estos requisitos. No necesariamente puede expresar todos los algoritmos todos (esto requeriría la integridad de Turing), pero podría expresar suficientes algoritmos para ser útil en el dominio dado.

También como un punto un poco pedante pero filosóficamente importante: las computadoras modernas son en realidad máquinas de estados finitos, por lo que no se están completando estrictamente (la integridad de Turing en realidad requiere una memoria infinita ...). Por lo tanto, en cierto sentido, ningún lenguaje, como se implementa actualmente en una computadora moderna, se completa con Turing.

    
respondido por el mikera 31.10.2012 - 04:20

Lea otras preguntas en las etiquetas