Logo 语言:用编程教孩子像人一样思考
Logo Programming Language
Logo 语言作为 Lisp 的一个方言,专为学习而设计。它通过交互式解释器提供即时反馈,让调试过程变得直观。其核心在于模块化与可扩展性,用户通过定义新过程来扩展词汇,就像人类学习自然语言一样。Logo 对数据类型处理灵活,自动处理整数与实数的运算,无需繁琐的类型声明。从简单的 turtle graphics 到 MicroWorlds Logo 的多任务并行,再到 StarLogo 的大规模并行计算,Logo 展示了编程如何从基础教学工具演变为强大的计算平台。
在 Logo 中编程是通过扩展其词汇表来完成的,即用它已知的词汇来教它新词,这与人类学习口语的方式非常相似。
HN 评论区
138- yogsototh
我自己小时候 8 岁或 10 岁时,在学校就是用 Logo 学编程的。
那是一段非常愉快的经历,我对此感激不尽。
但令人惊讶的是,后来我读博期间,部分时间要给学生布置练习。我们用的就是 Logo,而不是更常见的编程语言。我觉得这真的帮他们更好地内化了编程概念。通常,最后的练习会引入递归,而递归的效果会立刻以分形的形式呈现出来。
HIDETURTLE
PENUP
SETXY -200 0
RIGHT 90
PENDOWN
to dragon :degree :size
setpensize 1
if :size>5 [setpensize 2]
if :size>10 [setpensize 3]
if :size>20 [setpensize 4]
if :size>40 [setpensize 5]
ifelse :degree=0 [
fd :size
][
left 45 dragon (:degree-1) (size/4)
right 90 dragon (:degree-1) (size/2)
left 90 dragon (:degree-1) (size/4)
right 45
]
end
dragon 6 3000
如果你想试试看的话 :)
- imb
多年来,我们的学生 [0] 一直将 Logo 作为其数学圈风格 [1] 课程的重要组成部分。当我们刚开始时,Logo 的创造者之一 Wally Feurzeig 在帮助我们融入 Logo 理念方面发挥了关键作用,这些理念正是我们致力于实现的非标准问题解决方式。海龟几何(Turtle geometry)是探索动态几何的一种特别有益的“思维工具”。我们的联合创始人 Victor Gutenmacher 写了一本关于“运动中的几何”的不可思议的书 [2],它提供了一种与学校所见完全不同的几何视角,而我们的学生可以在 Logo 的帮助下探索这种视角。对于许多学生,尤其是那些有数学焦虑的学生来说,正是 Logo 帮助他们克服了焦虑,发现了思考和动手的乐趣。许多当今的程序员对通过 Logo 入门编程有着美好的回忆,但我会争辩说,尽管目前的进步速度飞快,它仍然是解决问题和计算思维最好、最温和的入门途径之一。
[0] https://www.gentleknowledge.com/
- Bankq
我永远感激自己在 90 年代初有机会接触 Logo 编程,作为一个来自第三世界国家的孩子,正是它引领我走到了今天。
我能拼写出来的第一个英文单词就是 REPEAT。
- ihumanable
我至今仍记得我们在小学学习 Logo 的情景。我得让妈妈出去买一张 3.5 英寸的软盘,才能保存我的程序。
当我意识到整个 Logo 系统其实都保存在那张软盘上,而且我可以在家里继续和海龟玩耍时,我惊呆了。
画些小东西,意识到我在重复某些操作,于是将其分解成一个个小函数,以便更容易地再次绘制它们。我在不知不觉中学习了编程的精髓。
- logoturtle
我在四年级加入学校计算机俱乐部时,学了一点 Logo。几年后,当我拥有第一台自己的电脑时,我很伤心地发现上面没有 Logo,而且我认识的人都不知道 Logo 是什么,更别提从哪里获取了。所以我转而使用了 QBasic 和其他 Basic 方言。直到很久以后,我才再次弄到可用的 Logo。我有时会想,如果更早地长时间接触一种类似 Lisp 的语言,会对我的编程生涯产生什么影响。
- genxy
Logo 有一个非常棒的分支,用于基于代理的建模(Agent Based Modeling):https://www.netlogo.org/,在那里你可以进行各种涉及成千上万个代理的模拟。
- lackoftactics
我在波兰相当于七年级的时候没能在 Logo 编程比赛中获胜,我现在想起来还是耿耿于怀。
- turtlegeometry
这条帖子现在高居 HN 榜首,却居然还没人提到那本顶级书籍《Turtle Geometry》<https://direct.mit.edu/books/oa-monograph/4663/Turtle-Geomet...> 是开放获取(open access)的。
对自己好一点,今天就读一读吧:它真的很好。
尽管看到该书序言中预言的教育革命从未真正发生,这确实令人沮丧。