VisiCalc Reconstructed
2 months ago
- #programming
- #spreadsheet
- #VisiCalc
- VisiCalc是1979年由Dan Bricklin和Bob Frankston开发的第一款电子表格软件。
- 它成为Apple ][的'杀手级应用',销量超过100万份,将个人电脑转变为商业工具。
- 文章描述了从零开始重建简化版VisiCalc的尝试,重点包括数据模型、公式计算器和用户界面。
- 电子表格中的单元格可包含数值(数字或文本)、公式或留空。VisiCalc的公式以'+'而非'='开头。
- 单元格数据模型包含类型(空值/数字/标签/公式)、数值和原始用户输入内容。
- 使用简单的网格结构表示电子表格,行数和列数有限制。
- 通过递归下降解析器实现公式计算,支持加减乘除等运算。
- 解析并计算单元格引用,支持@SUM、@ABS、@INT和@SQRT等函数。
- 采用迭代式全局重算机制,直到检测不到数值变化为止。
- 基于ncurses库构建简易终端用户界面(TUI),支持导航、编辑和单元格显示。
- 界面包含状态栏、编辑行、列标题和带滚动功能的网格视图。
- 输入处理支持导航、单元格编辑及清空(/B)、退出(/Q)、格式化(/F)等命令。
- 项目用不足500行C代码实现,保留了VisiCalc的核心功能。
- 暂缺文件I/O、复制命令、更多函数和大网格支持等功能。
- 文章最后指出VisiCalc的设计理念仍深刻影响着现代电子表格软件。