2012年2月程式語言排行榜:用圖形程式設計的LOGO語言

脈清心愛發表於2017-01-01

2012年2月6日,TIOBE釋出了2012年2月程式語言排行榜。Objective-C延續上月的升勢,佔有率已然邁入7%的行列。而榜首的Java和C依舊佔據頭兩位的名詞。Python語言正在加速下跌,從去年的第四位跌至第八位。51CTO今天要向大家介紹的是排名18的LOGO語言。

2月程式語言排行榜

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 "

這樣的程式碼想必還是容易理解的,也說明了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

下面給出了程式語言類別的一年變化趨勢

 

相關文章