2012年2月6日,TIOBE发布了2012年2月编程语言排行榜。Objective-C延续上月的升势,占有率已然迈入7%的行列。而榜首的Java和C依旧占据头两位的名词。Python语言正在加速下跌,从去年的第四位跌至第八位。51CTO今天要向大家介绍的是排名18的LOGO语言。
LOGO语言是设计师用的吗?
如果你在搜索引擎里搜索LOGO这个词,出来最多的当然是好各大公司的标志。又有谁知道LOGO语言是什么呢?我们首先要回到1968年。这一年苏联入侵捷克斯洛伐克,马丁路德金遇刺身亡,而LOGO语言也在这一年诞生。
LOGO语言英文介绍,请参考:http://www.dmoz.org/Computers/Programming/Languages/Lisp/Logo/
LOGO语言是美国国家科学基金会所资助的一项专案研究,在麻省理工学院(MIT)的人工智能研究室完成。 LOGO源自西腊文,原意即为思想,是由一名叫佩伯特的心理学家在从事儿童学习的研究中,发现一些与他的想法相反的教学方法,并在一个假日中出外散步时,偶然间看到一个像海龟的机械装置触发灵感,于是利用他广博的知识及聪明的才智而最终完成了LOGO语言的设计。
LOGO语言是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式。
LOGO语言是给小孩儿玩的?
LOGO语言的结构我们可以通过下面的代码样例来说明。比如我们要完成x := y + 3这样的功能,LOGO代码如下:
1. make "x sum :y 3
2. make "x sum :y "3
这样的代码想必还是容易理解的,也说明了LOGO语言是一门早期的语言,就像COBOL一样比较易懂。
LOGO语言中的循环语句
1. REPEAT 4 [FD 100 LEFT 90]
基本LOGO语法实现原理:
1.与移动有关的指令:“前进”、“后退”和“归位”。前进命令可让海龟前移一定的单位数,例如:执行“Forward(前进) 50”命令后,小海龟则会向前移动50个单位;后退命令则可让小海龟向后移动,如果执行“Back(后退) 50”命令,那么小海龟的方向不会发生改变,而会向后退50个单位;执行归位命令后,不论当前小海龟的位置及方向怎样,它就会乖乖地回到绘图区的中央位置,并且朝向屏幕的正上方。
2.与转弯有关的指令:“右转”和 “左转”。右转命令可让小海龟按要求向右边转动一定的角度,例如:执行“Right(右转) 45”命令则小海龟的朝向将向右转动45度角;而左转命令则可让小海龟向左转动,如:执行“Left 45”命令则小海龟的朝向将向左转动45度角。这几种命令可以驱动小海龟绕其中心旋转一定的角度。
3.与控制有关的命令有REPEAT(重复)、IF…THEN…ELSE…(条件执行)等。如执行REPEAT 4[FORWARD 200 RlGHT 9O]就能画出图2中的正方形,如果直接将移动命令和转弯命令相结合,则写出的语句就比较多,但都是一些重复地使用4次“Forward 100”和“Right 90”命令。
那么我们就可以运用上面的语法,实现一个绘图功能,先看下面的代码:
1. to spiral :size
2. if :size > 30 [stop] ; an exit condition
3. fd :size rt 15 ; many lines of action
4. spiral :size *1.02 ; the tailend recursive call
5. end
6.
7. spiral 10
这段代码在LOGO中被执行后,将会绘出下面的图形。
什么?这个图形太丑了?51CTO的编辑承认确实很难看,还不如现在最流行的HTML 5绘制出来的图形好看。不过这段代码也太简单了,7行代码写出来也算不错的实践了。
LOGO语言之所以是儿童学习计算机编程最好的一种语言,就因为它是针对儿童而制作的编程语言,能使儿童在认知与技能上得到较大的发展。LOGO语言具有较强的针对性,因为对于儿童来说,“画画”比“文字处理”更具有活力,充分发挥自己的想象进行创作,而文字处理却比较枯燥,不适合儿童。LOGO则主要用于“图画”制作,并且采用了“海龟绘图”的方式,适合儿童的特点,能充分引起他们的兴趣和学习该门语言的积极性,达到寓教于乐的目的。在LOGO语言中,它的作图方式与现在所用的作图软件不一样,主要区别就在于LOGO语言的基本作图的方法可以不采用坐标方式,而是通过向前,后退、向左转、向右转、回家等儿童易于理解的语言和命令,这非常适合儿童的知识水平,使这些还未接触坐标为何物的儿童更容易上手。在用LOGO语言作图时,需要学习者对一些常见的几何特性进行理解,了解常用的距离、角度和度数的概念。
想试用LOGO语言,请下载:http://www.onlinedown.net/soft/50555.htm
下面是本期编程语言排行榜的其他排名数据和趋势走向。
前10名编程语言走势图
20到50名语言排行
下面是第50到100的编程语言排名
(Visual) FoxPro, ABC, Algol, Alice, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, C++/CLI, CL (OS/400), Clean, Clojure, cT, Dart, Dylan, Eiffel, Euphoria, Factor, Icon, Inform, Io, J, JScript.NET, Korn shell, LabVIEW, LabWindows/CVI, Ladder Logic, Lingo, Max/MSP, Modula-2, MUMPS, NATURAL, Oberon, Occam, OpenCL, Oz, PILOT, PowerShell, Revolution, REXX, S, S-PLUS, SAS, Scala, VBScript, VHDL, Z shell
下面给出了编程语言类别的一年变化趋势