⭐⭐⭐⭐⭐ 5星

VisiCalc Reconstructed

来源: Hacker News | 作者: Serge Zaitsev | 日期: 2026-03-15

摘要

作者用C语言从零重建VisiCalc,包含完整的数据模型、公式解析器和TUI界面。电子表格被认为是近半个世纪最好的UX之一。

核心亮点

  • 完整的递归下降公式解析器实现 - 从零构建表达式解析
  • 支持多种函数 - @SUM、@ABS、@INT、@SQRT等
  • 单元格引用解析 - 支持A1、AB123等格式
  • 响应式计算 - 单元格变化自动重新计算
  • 使用ncurses构建TUI界面 - 终端UI实现
  • 不到500行C代码 - 极简实现
核心洞察: "电子表格是近半个世纪最好的UX之一"

技术细节

VisiCalc于1979年由Dan Bricklin和Bob Frankston创建,是第一个电子表格软件。它仅用几千行6502汇编代码就能在16K RAM机器上运行,成为Apple II的"杀手级应用"。

作者展示了一个现代实现:

  • 数据模型:单元格可以是EMPTY、NUM、LABEL或FORMULA类型
  • 公式解析:递归下降parser,支持+、-、*、/运算符
  • 函数解析:支持@SUM、@ABS、@INT、@SQRT等
  • 重算机制:迭代计算直到收敛

相关资源

标签

编程语言 C语言 历史 电子表格