¿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.
¿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:
Read and Write: Permite 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: