这个编程软件,可能是你在机房里玩过的第一款“游戏”
2018-02-28 08:37

这个编程软件,可能是你在机房里玩过的第一款“游戏”

来源:游戏研究社(ID:yysaag)

作者:九月


repeat 4 [fd 100 rt 90]


在一些很早就拥有计算机的朋友眼里,上面这串字符,会让他们条件反射地想到“正方形”——因为在当年的一个“画图软件”中输入上面的字段,就会得到一个边长100像素的正方形。


这个“画图软件”名叫Logo,它其实是一种编程语言。与一般的计算机语言不同的是,Logo语言输出的表现结果是几何图形。由于绘图的光标一开始是一个小海龟,因此它也被亲切地称为 “小海龟画图”。



这是很多朋友接触到的第一种编程语言。


它在国内流行的时候是90年代中期,主流电脑还是DOS机,很多连鼠标都没有。当时用户使用Logo语言,就能控制小海龟画出各种美丽图案。


在当时一些如“裕兴”之类的学习机上,也内置了“小海龟画图”程序


这些几何和数学感极强的图像,很像那个年代小伙伴们用流行的万花尺玩具画出来的作品。


我也是刚知道这个东西叫万花尺


上世纪90年代中期,“机房”还是一个非常神圣的场所,享受着木质地板、控温空调的高级待遇,连进入机房上课都需要戴上防尘鞋套。因为接触电脑的机会十分有限,计算机也自然成为了最受孩子们欢迎的课程。


在邓小平同志“计算机普及要从娃娃抓起”的号召下,编程在很长一段时期内都是计算机教育的重中之重。当时计算机教材除了指导学生练习键盘的基本指法之外,还有专门的章节介绍“小海龟绘图”。


当然,多数孩子对编程是没有什么概念的,他们更多地是将“小海龟绘图”当做一款需要动点脑子的游戏——从乐趣与成就感来看,两者确实有着共通之处。


1984年,13岁的李劲在为邓小平演示编程操作


图形化的编程语言


Logo语言的入门非常简单,特别是对于那些以英语为母语的西方用户来说,因为它的多数命令都是英文单词。


在PC端,Logo语言的界面分为两部分,上面是结果显示,下面是文本输入框。小海龟形象作为画图光标,显示于屏幕中央。



之所以选用“小海龟”的形象作为软件的光标,是因为Logo语言的最初的灵感来源于派普特无意中看到的海龟玩具,在上好发条之后,海龟能在移动的同时画下线条。


不过后来Logo语言出现了大量改版,为避免版权纠纷,很多版本都使用了三角箭头替代原本的海龟形象,这也是如今的新版本很少能看到那个经典海龟的原因。


在软件中,通过输入特定的指令,可以让小海龟在屏幕中移动并留下痕迹,实现绘图功能。


比如输入“FD 100”或“Forward 100”,海龟就会向前移动100像素;输入“LT”或者“Left 90”就可以让海龟左转90°;而“Repeat”就是字面意思“重复”,可以叠加其他命令。


文章最前的“REPEAT 4 [FD 100 LEFT 90]”,翻译过来就是“重复4次(前进100,左转90°)”,自然就形成了一个正方形。


Logo语言还支持一些软件内的计算。键入命令“Repeat 7[FD 30 RT 360/7]”,得出的结果就是一个边长30像素的正7边形。



除了通过代码来调整海龟所画出的笔迹粗细、颜色、绘画速度等参数以外,Logo语言也可以使用条件判断等控制命令。通过它们,用户就能使用简短的命令绘出复杂的图案。



如果语法足够精确,思路足够开阔,最终就可以画出上图那种花样繁多的图案,任意调整其中某个参数,又得出另外一种完全不同的结果。


向计算机发送简单的命令,进而绘制一个自定义图形,这个过程可以让用户掌握程序设计的基本逻辑,同时加深对几何、多边形的理解。


由于软件的命令多数都是英文,很多孩子最先学会的几个单词都是来自这款软件。你当时可能不知道repeat的含义,但却可以熟练地念出串字符。


练习编写程序的同时又能让孩子们认识英语单词,将它作为计算机的入门课程,的确非常合适。


Logo语言诞生后,很多学者都热衷于发掘它的内在潜力,比如通过这种语言学习几何原理甚至微积分。还有研究者专门为Logo语言写了一本几百页的指南,探讨Logo语言的高级用法与功能,书名就叫《乌龟几何》(Turtle Geometry)



这种古老但有趣的编程语言在Windows出现之后应用就不多了,一方面是因为真正意义上的编程语言越来越多,另一方面是计算机的图形化技术也越来越完善,不需要这种简单的几何图形来表现内容了。


不过根据TIOBE的编程语言排行榜,Logo语言在2018年1月仍占据着第37名的位置,被应用于教育机构。仍有一些少年像儿时的我们一样,在一个什么游戏都没有的机房电脑上,乐此不疲地操作屏幕中的小海龟画下一幅幅精妙的图案。


派普特和他的小海龟


Logo语言最初出现在1966年,比C语言的历史还要久远,是一种基于LISP修改的计算机语言。


它的设计者是西摩尔·派普特(Seymour Papert)博士,一位南非出生的人工智能先驱,就职于美国麻省理工学院。除了Logo语言,他还是乐高“头脑风暴”系列科教机器人的奠基人。



“Logo”一词来源于希腊语“Logos”,意思是支配万物的原理、上帝的旨意。软件的设计初衷是为了让儿童能更容易理解计算机编程。


派普特曾说过一句话:“我们要关心怎么能让孩子对电脑编程,而不是让电脑对孩子进行编程。”


Logo语言就是派普特在这个理念基础之上而创造的,这也是世界上第一款针对儿童教学使用的编程语言,因此派普特博士也被誉为“儿童编程之父”。


因为Logo语言是在60年代末期诞生的,那时候的计算机是绝对的高级货,孩子们很难有机会接触。于是为了推广Logo语言,派普特博士做出了一款实体版的“可编程小海龟”,可以通过键盘控制器完成Logo语言中的部分简单操作。



1984年,时任乐高公司CEO的克伊尔德·克里斯丁森在电视中看到了派普特的采访节目,后者正在电视中演示这只实体编程海龟。克里斯丁森认为,这个实体化可互动的“玩具”与乐高的产品哲学有着相通的理念,二者如果能够结合起来,一定是个不错的新产品。


但这个设想直到1998年才得以实现。


彼时的计算机已经足够普及,微型电脑的成本也足够低廉。为了向灵感来源派普特教授致敬,乐高的新产品线被命名为“Mindstroms”,头脑风暴——这正是派普特1980年出版的著作的名字。


“头脑风暴”系列能让乐高积木活起来,实现弹琴、掰魔方等功能


2006年12月,78岁的派普特博士在越南河内出席第17届国际数学教学研究会议,不幸在当地被摩托车撞伤,并接受紧急手术。


一个月后,他被转移到了美国一家离家较近的医院,又在此感染了败血症。当时他虽然逻辑思维依旧清晰,但行动能力非常有限,只能进行些许康复训练。 


十年之后的2016年7月31日,在人工智能以及儿童教学领域做出杰出贡献的西摩尔·派普特博士,最终没能战胜病魔,在自己的家中病逝。


但派普特博士留下的精神遗产对后人仍是一份宝贵的财富,Logo语言也和他最初的构想一样广泛应用于儿童教育领域,至今仍被很多小学选为入门编程语言。


为纪念西摩尔·派普特,乐高专门设计了一只人仔——注意人仔的衣服和手中的书

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定