重新思考编程教学:让编程可视化、易理解

2025-08-04

本文批判了当前编程教学中普遍存在的以JavaScript和Processing为代表的“活码”环境的不足,认为其未能有效支持强大的思维方式,也无法让程序员看到和理解程序的执行过程。作者提出,学习编程的关键在于理解程序的执行流程和数据状态,并主张通过可视化技术,例如时间线图和数据可视化,来使编程过程更加透明和易于理解。文章还强调了编程语言设计的重要性,提倡使用更贴近人类思维方式的元语和更易于理解的语法,并通过分解和重组等方法,鼓励创造性的编程学习。

阅读更多
开发

信息软件设计:图形设计的胜利,交互设计的失败?

2025-06-03

Bret Victor 在这篇论文中挑战了传统的软件设计理念,认为大多数软件(信息软件)的核心在于信息呈现,而非交互操作。他主张信息软件设计应以图形设计为基础,通过巧妙的图形化呈现和上下文感知能力,减少用户与软件的交互,从而提升用户体验。论文中列举了火车时刻表、在线书店和电影列表等案例,对比了传统交互式设计和基于图形设计的方案,并提出了基于环境感知和历史记录的上下文推断方法。最终,Victor 呼吁软件设计行业重视视觉传达,革新信息软件设计模式,创造更直观、高效的用户体验。

阅读更多
开发

用鳄鱼游戏理解λ演算

2025-01-20

Bret Victor在2007年设计了一个名为“鳄鱼蛋”的益智游戏,巧妙地将λ演算的抽象概念转化为生动的游戏机制。游戏中,饥饿的鳄鱼代表λ抽象,老鳄鱼代表括号,蛋代表变量。鳄鱼吃掉其他鳄鱼家族的过程对应β规约,颜色规则对应α转换,老鳄鱼死亡规则对应括号消除。玩家通过解决一系列谜题,逐步理解λ演算的核心概念,例如β规约和α转换。该游戏不仅为儿童学习λ演算提供了一种趣味方式,也为理解和计算λ演算提供了一种直观的工具。

阅读更多
游戏