内容提要
作者重新进入Squeak,将debugger作为主要编程工具,喜欢动手实践来理解事物。作者构建了MyLab package来方便实验,逐渐适应了Squeak中的生活。Squeak提供了许多设施来发展和理解想法。作者的开发风格包括image管理、使用etoys快速开始项目、使用dynatalk在etoys中使用、查询语法和常用对象、代码片段、debugger的常见用法、morph的基本属性、hypertext、blocks的常见用法、布局、Git Browser的使用、Promise的使用、与其他系统互操作、Dynatalk的使用、视角和Snap!的使用。
延伸解读
调试器作为主要编程工具
作者将 debugger 作为主要编程工具,这反映了 Squeak 动态环境的特性。在 debugger 中,开发者可以探索表达式、添加断点,并实时修改代码,无需重启。这种工作方式支持极端的后期绑定,让想法在运行中逐步完善,有助于保持心流状态。
动手实践与建构主义学习
作者强调通过动手实践来理解事物,这符合 Squeak 支持的建构主义学习风格。构建 MyLab package 和 Yard 类作为实验场,让计算机适应个人风格,而不是遵循固定教程。这种学习方式适合喜欢探索和实验的人,但可能不适合偏好结构化学习的人。
Squeak 与 Snap! 的适用场景
作者重新进入 Squeak 是因为 Snap! 在需要类结构和 Morphic 时不够用。Snap! 适合探索性编程和快速开始,而 Squeak 提供更灵活的 Morphic 和类系统。John Maloney 也提到,放弃 Scratch 式角色系统,直接使用 Morphic 构建 UI 会更灵活,但学习曲线更陡。
image 管理与版本控制
作者强调不保存原始 image,而是使用 save as 来管理版本。这有助于保持 image 的清晰记录,避免意外修改。在 Squeak 中,ctrl-s 不会自动保存 image,需要显式 save as。这种实践对于长期项目和实验管理非常重要。
Q&A
Squeak的学习风格是什么样的?
Squeak支持建构主义学习风格,鼓励用户通过动手实践和实验来理解概念。
作者是如何使用debugger的?
作者使用debugger探索表达式、添加断点,并在测试驱动开发中处理错误。
MyLab package的目的是什么?
MyLab package是为了方便实验而构建的,作者在其中进行各种实验。
Squeak中如何管理image?
作者不保存原始image,而是使用save as来管理版本,确保有明确记录。
Squeak如何与其他编程语言互操作?
Squeak可以与Python、JavaScript等系统互操作,支持多种编程环境的交互。
作者对Dynatalk的看法是什么?
作者认为Dynatalk是Squeak之旅的一个副产品,强调其在学习中的作用。