Respuesta

6

Mientras una lengua es Turing complete, cualquier algoritmo puede ser implementado en el mismo (por definición de "algoritmo"). Pero, como otros han dicho, los lenguajes funcionales pueden hacer ciertas cosas de forma más elegante. (Solo eche un vistazo a Haskell. Qué idioma tan encantador.) También diría que hay una clase de problemas que los lenguajes OOP hacen mejor. (En mi opinión, las GUI, aunque algunas pueden estar en desacuerdo.)

+0

Gracias, Pavel. Había pensado en decir "cualquier algoritmo computable" después de haberlo escrito, pero no me molesté en cambiarlo. –

3

No, sin embargo, un lenguaje funcional puede conducir a una implementación más elegante para un algoritmo que puede explotar las características de dicho lenguaje. Por ejemplo, uno que requiere una gran profundidad recursiva.

0

Según tengo entendido, dicho algoritmo debería traducirse en un conjunto de comandos de máquina ejecutados en algún microprocesador (ya sea que utilice un lenguaje compilado o interpretado). Y ninguno de los procesadores actuales es 'funcional'.
De hecho, esto lleva a la afirmación aún más amplio: cualquier 'algoritmo funcional' puede ser implementado en C o ensamblador :)

+1

Ese lenguaje funcional se traduce en un conjunto de instrucciones imperativas que no importa. Un lenguaje Turing Complete puede simular cualquier otro idioma de Turing completo. Cualquier algoritmo que se pueda ejecutar con un lenguaje Turing Complete se puede ejecutar en cualquier otro lenguaje de Turing Complete. Esto garantiza que todos los "algoritmos funcionales" se pueden ejecutar en "máquina imperativa", y que todos los "algoritmos imperativos" se pueden ejecutar en "máquina funcional". –

+0

Por lo tanto, la afirmación es aún más amplia: "Cualquier algoritmo que se puede ejecutar en un idioma de Turing Complete, se puede implementar en cualquier otro lenguaje de Turing Complete" –

+0

@Lie Sé que hay mucha teoría en torno a Turing Machine y 'proof' puede extenderse sin importar lo que quiera (incluso en los campos de la física nuclear, la teoría de la probabilidad o la economía). Pero no hace que el argumento 'hecho en casa' sea menos válido. De hecho, quería mantenerlo en el nivel "artesanal". –

Cuestiones relacionadas