¿Es Excel un lenguaje de Programación?

Hace un par de días vi una noticia que decía que Excel tenía más usuarios que C++ y Python juntos. Por más absurdo que sonaba, decían que Excel era un lenguaje de programación. Me dió curiosidad y decidí hacer un poco de investigación.



¿Qué es un lenguaje de programación?

Para saber si Excel es un lenguaje de programación, primero es necesario saber qué es. En términos generales, un lenguaje de programación es un set de instrucciones que pueden usarse para ordenar a un computador a que realice alguna acción.

Excel cumple con la definición anterior. Le ingresas algo y te debe devolver algo, ya sea letras, números, listas, valores booleanos, entre otros. Pero, por más asombrosa que sea la anterior definición, es muy vaga.

Es necesario profundizar. 

¿Turing Complete?

Después de hacer un poco de investigación, encontré un artículo en el blog de Microsoft sobre la función lambda. En ese mismo artículo mencionaron que Excel era técnicamente un lenguaje de programación. No solo se limitaban a eso, incluso decían que Excel era un lenguaje de programación Turing Complete.

Turing Complete, hace referencia a la maquina de Turing. No entraremos a detalles sobre qué es una máquina de Turing, pero encontré este video con una explicación que considero bastante completa.

Cuando nos referimos a Turing Complete, hablamos de que puede simular a una máquina de Turing. En otras palabras, se puede teóricamente resolver cualquier problema si se tiene una infinita cantidad de memoria y tiempo. Las limitaciones no están en el lado de la lógica.

Para que un lenguaje sea considerado Turing Complete, debe cumplir con las siguientes condiciones:

Conditional Jump: Debe permitir condicionales. Esto lo miramos en forma de las funciones If, else.

Read and WritePermite leer y escribir información a algún tipo de memoria.

Crear funciones: Esto es parte de una segunda definición de Turing Complete. Esta definición está hecha para lenguajes basados en cálculos lambda. Para ellos, es necesario crear funciones abstractas. Esto es algo que cumple la nueva función lambda de Excel.

Se pueden aplicar funciones: Como todos sabemos, en Excel podemos aplicar funciones.

Conclusión

Sorprendentemente, Excel puede ser considerado como un lenguaje de programación. Es extraño, pero ahora casi todos podemos decir que conocemos al menos un lenguaje de programación.


No hay comentarios:

Con la tecnología de Blogger.