Logo 语言:用编程教孩子像人一样思考
Logo Programming Language
Logo 语言作为 Lisp 的一个方言,专为学习而设计。它通过交互式解释器提供即时反馈,让调试过程变得直观。其核心在于模块化与可扩展性,用户通过定义新过程来扩展词汇,就像人类学习自然语言一样。Logo 对数据类型处理灵活,自动处理整数与实数的运算,无需繁琐的类型声明。从简单的 turtle graphics 到 MicroWorlds Logo 的多任务并行,再到 StarLogo 的大规模并行计算,Logo 展示了编程如何从基础教学工具演变为强大的计算平台。
在 Logo 中编程是通过扩展其词汇表来完成的,即用它已知的词汇来教它新词,这与人类学习口语的方式非常相似。
HN 评论区
82- yogsototh
我自己小时候在学校就是用 Logo 学编程的,大概 8 到 10 岁那会儿。
那真是一段美好的经历,我至今仍心存感激。
但令人意外的是,后来我读博期间,有一部分时间要给学生布置练习。我们用的就是 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
如果你想试试看的话 :)