2012年2月編程語(yǔ)言排行榜:用圖形編程的LOGO語(yǔ)言
原創(chuàng)【51CTO獨(dú)家特稿】2012年2月6日,TIOBE發(fā)布了2012年2月編程語(yǔ)言排行榜。Objective-C延續(xù)上月的升勢(shì),占有率已然邁入7%的行列。而榜首的Java和C依舊占據(jù)頭兩位的名詞。Python語(yǔ)言正在加速下跌,從去年的第四位跌至第八位。51CTO今天要向大家介紹的是排名18的LOGO語(yǔ)言。
LOGO語(yǔ)言是設(shè)計(jì)師用的嗎?
如果你在搜索引擎里搜索LOGO這個(gè)詞,出來(lái)最多的當(dāng)然是好各大公司的標(biāo)志。又有誰(shuí)知道LOGO語(yǔ)言是什么呢?我們首先要回到1968年。這一年蘇聯(lián)入侵捷克斯洛伐克,馬丁路德金遇刺身亡,而LOGO語(yǔ)言也在這一年誕生。
LOGO語(yǔ)言英文介紹,請(qǐng)參考:http://www.dmoz.org/Computers/Programming/Languages/Lisp/Logo/
LOGO語(yǔ)言是美國(guó)國(guó)家科學(xué)基金會(huì)所資助的一項(xiàng)專案研究,在麻省理工學(xué)院(MIT)的人工智能研究室完成。 LOGO源自西臘文,原意即為思想,是由一名叫佩伯特的心理學(xué)家在從事兒童學(xué)習(xí)的研究中,發(fā)現(xiàn)一些與他的想法相反的教學(xué)方法,并在一個(gè)假日中出外散步時(shí),偶然間看到一個(gè)像海龜?shù)臋C(jī)械裝置觸發(fā)靈感,于是利用他廣博的知識(shí)及聰明的才智而最終完成了LOGO語(yǔ)言的設(shè)計(jì)。
LOGO語(yǔ)言是一種早期的編程語(yǔ)言,也是一種與自然語(yǔ)言非常接近的編程語(yǔ)言,它通過(guò)“繪圖”的方式來(lái)學(xué)習(xí)編程,對(duì)初學(xué)者特別是兒童進(jìn)行寓教于樂(lè)的教學(xué)方式。
LOGO語(yǔ)言是給小孩兒玩的?
LOGO語(yǔ)言的結(jié)構(gòu)我們可以通過(guò)下面的代碼樣例來(lái)說(shuō)明。比如我們要完成x := y + 3這樣的功能,LOGO代碼如下:
- make "x sum :y 3
- make "x sum :y "3
這樣的代碼想必還是容易理解的,也說(shuō)明了LOGO語(yǔ)言是一門(mén)早期的語(yǔ)言,就像COBOL一樣比較易懂。
LOGO語(yǔ)言中的循環(huán)語(yǔ)句
- REPEAT 4 [FD 100 LEFT 90]
基本LOGO語(yǔ)法實(shí)現(xiàn)原理:
1.與移動(dòng)有關(guān)的指令:“前進(jìn)”、“后退”和“歸位”。前進(jìn)命令可讓海龜前移一定的單位數(shù),例如:執(zhí)行“Forward(前進(jìn)) 50”命令后,小海龜則會(huì)向前移動(dòng)50個(gè)單位;后退命令則可讓小海龜向后移動(dòng),如果執(zhí)行“Back(后退) 50”命令,那么小海龜?shù)姆较虿粫?huì)發(fā)生改變,而會(huì)向后退50個(gè)單位;執(zhí)行歸位命令后,不論當(dāng)前小海龜?shù)奈恢眉胺较蛟鯓樱蜁?huì)乖乖地回到繪圖區(qū)的中央位置,并且朝向屏幕的正上方。
2.與轉(zhuǎn)彎有關(guān)的指令:“右轉(zhuǎn)”和 “左轉(zhuǎn)”。右轉(zhuǎn)命令可讓小海龜按要求向右邊轉(zhuǎn)動(dòng)一定的角度,例如:執(zhí)行“Right(右轉(zhuǎn)) 45”命令則小海龜?shù)某驅(qū)⑾蛴肄D(zhuǎn)動(dòng)45度角;而左轉(zhuǎn)命令則可讓小海龜向左轉(zhuǎn)動(dòng),如:執(zhí)行“Left 45”命令則小海龜?shù)某驅(qū)⑾蜃筠D(zhuǎn)動(dòng)45度角。這幾種命令可以驅(qū)動(dòng)小海龜繞其中心旋轉(zhuǎn)一定的角度。
3.與控制有關(guān)的命令有REPEAT(重復(fù))、IF…THEN…ELSE…(條件執(zhí)行)等。如執(zhí)行REPEAT 4[FORWARD 200 RlGHT 9O]就能畫(huà)出圖2中的正方形,如果直接將移動(dòng)命令和轉(zhuǎn)彎命令相結(jié)合,則寫(xiě)出的語(yǔ)句就比較多,但都是一些重復(fù)地使用4次“Forward 100”和“Right 90”命令。
那么我們就可以運(yùn)用上面的語(yǔ)法,實(shí)現(xiàn)一個(gè)繪圖功能,先看下面的代碼:
- to spiral :size
- if :size > 30 [stop] ; an exit condition
- fd :size rt 15 ; many lines of action
- spiral :size *1.02 ; the tailend recursive call
- end
- spiral 10
這段代碼在LOGO中被執(zhí)行后,將會(huì)繪出下面的圖形。
什么?這個(gè)圖形太丑了?51CTO的編輯承認(rèn)確實(shí)很難看,還不如現(xiàn)在最流行的HTML 5繪制出來(lái)的圖形好看。不過(guò)這段代碼也太簡(jiǎn)單了,7行代碼寫(xiě)出來(lái)也算不錯(cuò)的實(shí)踐了。
LOGO語(yǔ)言之所以是兒童學(xué)習(xí)計(jì)算機(jī)編程最好的一種語(yǔ)言,就因?yàn)樗轻槍?duì)兒童而制作的編程語(yǔ)言,能使兒童在認(rèn)知與技能上得到較大的發(fā)展。LOGO語(yǔ)言具有較強(qiáng)的針對(duì)性,因?yàn)閷?duì)于兒童來(lái)說(shuō),“畫(huà)畫(huà)”比“文字處理”更具有活力,充分發(fā)揮自己的想象進(jìn)行創(chuàng)作,而文字處理卻比較枯燥,不適合兒童。LOGO則主要用于“圖畫(huà)”制作,并且采用了“海龜繪圖”的方式,適合兒童的特點(diǎn),能充分引起他們的興趣和學(xué)習(xí)該門(mén)語(yǔ)言的積極性,達(dá)到寓教于樂(lè)的目的。在LOGO語(yǔ)言中,它的作圖方式與現(xiàn)在所用的作圖軟件不一樣,主要區(qū)別就在于LOGO語(yǔ)言的基本作圖的方法可以不采用坐標(biāo)方式,而是通過(guò)向前,后退、向左轉(zhuǎn)、向右轉(zhuǎn)、回家等兒童易于理解的語(yǔ)言和命令,這非常適合兒童的知識(shí)水平,使這些還未接觸坐標(biāo)為何物的兒童更容易上手。在用LOGO語(yǔ)言作圖時(shí),需要學(xué)習(xí)者對(duì)一些常見(jiàn)的幾何特性進(jìn)行理解,了解常用的距離、角度和度數(shù)的概念。
想試用LOGO語(yǔ)言,請(qǐng)下載:http://www.onlinedown.net/soft/50555.htm
#p#
下面是本期編程語(yǔ)言排行榜的其他排名數(shù)據(jù)和趨勢(shì)走向。
前10名編程語(yǔ)言走勢(shì)圖
20到50名語(yǔ)言排行
下面是第50到100的編程語(yǔ)言排名
(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
下面給出了編程語(yǔ)言類別的一年變化趨勢(shì)
【2011年榜單回顧】
- 2012年1月編程語(yǔ)言排行榜:Objective-C成為年度語(yǔ)言
- 2011年12月編程語(yǔ)言排行榜:C++11它就像一個(gè)新語(yǔ)言
- 2011年11月編程語(yǔ)言排行榜:Google新利器Dart
- 10月編程語(yǔ)言排行榜:不成大器的D語(yǔ)言
- 9月編程語(yǔ)言排行榜:專為機(jī)器人玩具設(shè)計(jì)的語(yǔ)言NXT-G
- 8月編程語(yǔ)言排行榜:以總統(tǒng)為名的語(yǔ)言新貴Lua
- 2011年7月編程語(yǔ)言排行榜:COBOL五角大樓出品
- 2011年6月編程語(yǔ)言排行榜:為孩子創(chuàng)造的語(yǔ)言Scratch
- 2011年5月編程語(yǔ)言排行榜:用MATLAB構(gòu)建宇宙
- 2011年4月編程語(yǔ)言排行榜:告別Smalltalk
- 2011年3月編程語(yǔ)言排行榜:用Ada向人類首位程序員致敬
- 2011年2月編程語(yǔ)言排行榜:冰河時(shí)代的Fortran
- 2011年1月編程語(yǔ)言排行榜:Python稱霸2010































