Array languages vs. the curse of the spreadsheet
Array-oriented languages like APL and Kap are being proposed as more principled alternatives to spreadsheets for complex data manipulation, but their dense symbolic notation and right-to-left evaluation raise major usability and learnability concerns. Commenters contrast Excel’s messy but accessible “grid plus formulas” model—now augmented with lambdas, Python, and array formulas—with array languages’ compact, math-like expressions that can be powerful yet opaque to non-experts. Many conclude that while spreadsheets have serious correctness and maintainability problems, any replacement must meet typical users where they are in terms of ergonomics, familiarity, and real-world workflows.
Excel as a programming environment
- Several comments stress that Excel is already a “proper” programming language: it now has LAMBDA, reusable lambdas (in recent 365 versions), custom functions, VBA, and even embedded Python.
- Array formulas and “spilled” dynamic arrays are highlighted as major improvements for operating on ranges without copy‑pasting formulas. PowerQuery is cited as another powerful built‑in tool.
- Some argue that for real‑world users, formulas are just a means to get the data they care about; the data, not the code, is primary.
Spreadsheet compilation and analysis
- People are interested in converting spreadsheets to conventional languages (Python, C#, Java) to surface cell dependencies and add structure.
- Python libraries exist that interpret Excel formulas as a DAG and let you manipulate “cells” programmatically. Implementing this is described as complex due to lack of a formal formula spec and many edge cases.
- Research and tools (e.g., linting, semantic smell detection) already exist to detect inconsistent formulas and likely errors.
Spreadsheet UX and reliability
- Desire for clear visual distinction between formula cells and input cells recurs; existing workarounds include “Show Formulas,” Trace Dependents, conditional formatting with ISFORMULA, and manual color conventions.
- Some think default highlighting would distract from reading data; others argue it would reduce cognitive load and bugs.
- Spreadsheets are described as extremely powerful but also fragile: easy to mutate accidentally, hard to audit at scale, and widely used in critical contexts despite many hidden errors.
Array languages vs. spreadsheets
- The article’s claim that array languages better match how spreadsheet users think is contested; many say typical users think in rows/columns, not abstract matrices.
- Proponents of APL‑style array languages emphasize density, composability, elimination of loops, and “tool‑for‑thought” benefits once idioms are learned.
- Critics focus on discoverability, steep learning curve, unfamiliar glyphs, and poor fit with mainstream Excel users; they compare favorably to more verbose but familiar languages (Scheme, Lisp, Python).
Symbolic notation, readability, and ergonomics
- Long debate over APL‑like Unicode glyphs: advocates liken them to mathematical notation and argue they improve pattern recognition; skeptics see them as code‑golfy, hard to type, unsearchable, and unapproachable.
- Suggestions include dual representations (symbols ↔ spelled‑out names), or array languages using ASCII/English words (e.g., Uiua) to ease adoption.
Kap specifically
- Kap is presented as an APL‑inspired array language with a spreadsheet‑like UI, targeting JVM/JS/native.
- The author (in‑thread) says the goal is not to replace Excel for average users but to give “spreadsheet‑class” users a more principled environment and integrate tightly with Excel (copy/paste, live links).
- Some commenters find the showcased example (longest word with ≤2 vowels) too artificial and ask for more realistic business‑oriented demonstrations.