Lenguajes de arrays vs. la maldición de la hoja de cálculo

Lenguajes orientados a arrays como APL y Kap se proponen como alternativas más principadas a las hojas de cálculo para la manipulación compleja de datos, pero su notación simbólica densa y la evaluación de derecha a izquierda plantean importantes problemas de usabilidad y aprendizaje. Los comentaristas contraponen el modelo desordenado pero accesible de Excel —“rejilla más fórmulas”, ahora ampliado con lambdas, Python y fórmulas de arrays— con las expresiones compactas y similares a las matemáticas de los lenguajes de arrays, que pueden ser potentes pero opacas para los no expertos. Muchos concluyen que, aunque las hojas de cálculo tienen serios problemas de corrección y mantenibilidad, cualquier sustituto debe adaptarse a los usuarios típicos en términos de ergonomía, familiaridad y flujos de trabajo reales.

Excel como entorno de programación

  • Varios comentarios subrayan que Excel ya es un lenguaje de programación “de verdad”: ahora tiene LAMBDA, lambdas reutilizables (en versiones recientes de 365), funciones personalizadas, VBA e incluso Python integrado.
  • Las fórmulas de arrays y los arrays dinámicos “derramados” se destacan como mejoras importantes para operar sobre rangos sin copiar y pegar fórmulas. PowerQuery se cita como otra herramienta integrada muy potente.
  • Algunos sostienen que, para los usuarios del mundo real, las fórmulas solo son un medio para obtener los datos que les importan; los datos, no el código, son lo primario.

Compilación y análisis de hojas de cálculo

  • Hay interés en convertir hojas de cálculo a lenguajes convencionales (Python, C#, Java) para exponer las dependencias entre celdas y añadir estructura.
  • Existen bibliotecas de Python que interpretan las fórmulas de Excel como un DAG y permiten manipular “celdas” programáticamente. Implementarlo se describe como complejo debido a la falta de una especificación formal de las fórmulas y a muchos casos límite.
  • Ya existen investigaciones y herramientas (por ejemplo, linting, detección de olores semánticos) para detectar fórmulas inconsistentes y posibles errores.

UX y fiabilidad de las hojas de cálculo

  • Reaparece el deseo de una distinción visual clara entre celdas de fórmula y celdas de entrada; entre las soluciones actuales están “Mostrar fórmulas”, Trace Dependents, formato condicional con ISFORMULA y convenciones manuales de color.
  • Algunos creen que el resaltado por defecto distraería de la lectura de los datos; otros argumentan que reduciría la carga cognitiva y los errores.
  • Las hojas de cálculo se describen como extremadamente potentes pero también frágiles: fáciles de modificar por accidente, difíciles de auditar a escala y ampliamente usadas en contextos críticos pese a muchos errores ocultos.

Lenguajes de arrays vs. hojas de cálculo

  • La afirmación del artículo de que los lenguajes de arrays encajan mejor con la forma en que piensan los usuarios de hojas de cálculo es cuestionada; muchos dicen que los usuarios típicos piensan en filas/columnas, no en matrices abstractas.
  • Los defensores de los lenguajes de arrays al estilo APL enfatizan la densidad, la composabilidad, la eliminación de bucles y las ventajas de “tool-for-thought” una vez que se aprenden los idioms.
  • Los críticos se centran en la detectabilidad, la pronunciada curva de aprendizaje, los glifos poco familiares y el mal encaje con los usuarios corrientes de Excel; los comparan favorablemente con lenguajes más verbosos pero familiares (Scheme, Lisp, Python).

Notación simbólica, legibilidad y ergonomía

  • Hay un largo debate sobre los glifos Unicode al estilo APL: los defensores los comparan con la notación matemática y sostienen que mejoran el reconocimiento de patrones; los escépticos los ven como code golf, difíciles de teclear, no buscables y poco accesibles.
  • Entre las sugerencias están las representaciones duales (símbolos ↔ nombres escritos) o lenguajes de arrays que usen ASCII/palabras en inglés (por ejemplo, Uiua) para facilitar la adopción.

Kap en particular

  • Kap se presenta como un lenguaje de arrays inspirado en APL con una interfaz tipo hoja de cálculo, orientado a JVM/JS/nativo.
  • El autor (en el hilo) dice que el objetivo no es reemplazar Excel para los usuarios promedio, sino dar a los usuarios de “clase hoja de cálculo” un entorno más principiado e integrarse estrechamente con Excel (copiar/pegar, enlaces en vivo).
  • Algunos comentaristas consideran que el ejemplo mostrado (la palabra más larga con ≤2 vocales) es demasiado artificial y piden demostraciones más realistas orientadas al negocio.