My thoughts on Python in Excel
Who Python in Excel Targets
- Many see the feature as aimed at Excel “power users” (analysts, quants) rather than the ~billion casual users.
- Debate whether these users are “non‑programmers”: some argue heavy Excel use is already a form of programming.
- Enterprise/Windows lock‑in and subscription pricing are seen as strong filters; widespread grassroots adoption is viewed as unlikely in the short term.
Debate Over Language Choice
- Some argue Lua or Scheme would be better embedded languages: simpler, designed for embedding, fewer “batteries” needed.
- Others counter that Python has massive mindshare, rich numeric/data ecosystems, and existing presence in finance and analytics; Lua/Scheme would have almost no pull in those environments.
- For most Excel users, the “Python vs Lua” question is viewed as irrelevant; they don’t program at all.
Critiques of Microsoft’s Implementation
- Seen as an alternative to the formula language, not to VBA; disappointment from those wanting a modern scripting replacement.
- Integration of Jupyter‑style cells directly into the grid is widely criticized as awkward and confusing.
- Execution order (left‑to‑right, top‑to‑bottom across sheets) evokes memories of brittle old macro sheets.
- Poor naming/ranging ergonomics, messy interaction with existing features (LET, LAMBDA, named cells), and hard version control are recurring complaints.
- Some suspect it’s intentionally half‑baked so the idea can be killed later.
Cloud vs Local Execution and Security
- Cloud‑only Python is heavily criticized: dependency on connectivity, Azure outages, and regulatory/privacy (e.g., GDPR) concerns.
- Others note cloud execution helps sandbox Python and standardize environments and packages.
- Counter‑argument: Excel’s security issues can be mitigated locally (macro policies, airgapping), while no cloud can credibly promise zero leakage.
Alternative Approaches and Tools
- Many prefer “Excel as presentation layer, Python/R outside”: extract data (SAP, DBs), process with scripts, re‑import to Excel.
- Existing tools: xlwings (drive a live Excel instance from Python), COM automation, openpyxl/xlsxwriter, LibreOffice + Python/ScriptForge, Power Query/M.
- New products rethink the model: spreadsheets natively integrated with Python and richer type systems (e.g., dataframes, lists, dicts) and Rust backends; or Python‑centric spreadsheet UIs (PySheets, IronCalc, others).
Rethinking the Spreadsheet Paradigm
- Several argue the real problem is the grid itself: hard to validate, version, and reproduce once APIs and logic accumulate.
- Proposals include dataframe‑like tables, ORM‑style operations, multidimensional modeling (as in enterprise tools), richer formula languages, and better tracing/debug features.