最新的編程語言排行榜已經公布,與8月榜單相比,最引人矚目的是D語言取代了8月份首次進入前20名的F#語言占居榜單第20位。和F#第一次進入Top 20不同,D語言并非首次進入,它從2007年至2009年中期,一直在Top 20。另一個驚喜的是Scala重回前50,靜態類型Java語言以JRuby及Groovy的后備隊的身份,在移動Android應用程序開發領域整裝待發。但是被稱為下一代Java的JVM語言Scala卻未受Android開發者重視,這會不會是一個契機呢? 下面是前20名的編程語言排行 8月30日Java之父高斯林在自己的博客發表了一篇名為《我又跑路了》的博文。在博文里高斯林宣布自己將離開Google,并解釋稱自己已經找到了更感興趣的方向。高斯林新加盟的公司是Liquid Robotics,Liquid Robotics曾獲得2010年度科技創新獎項中機器人技術獎。高斯林的加盟這也意味著Liquid Robotics開發出的利用潮汐能與太陽能來工作的機器人技術在未來將會更加智能。事實證明Java 技術之父都對機器人技術感興趣了,甚至不惜放棄Google,那么您呢?本期我們就為大家介紹一種專為機器人玩具設計的可視化編程語言NXT-G。 NXT-G簡介 NXT-G是一種可視化的編程語言,它集成在樂高(LEGO)公司的機器人玩具產品中,NXT程序的設計者可以在計算機上通過NXT-G對機器人的行為進行可視化的程序設計,并通過藍牙等方式將這些指令下載到機器人身上,一旦NXT機器人程序化后,它就“開始有了自己的生命,不再需要經由計算機控制 ”。 NXT-G編程語言的特殊之處在于其并非是提供給專業程序開發者的編程語言,而是由丹麥著名玩具制造商 樂高(LEGO)公司為NXT機器人玩具設計的可視化編程語言,簡稱G語言。NXT-G編程方法簡單易學但不可小視,只要c語言、Java語言編出的程序,NXT-G都可以編出。樂高公司為這種編程語言開發的軟件稱為“LEGO MINDSTROMS NXT 編程(programming)”,下文簡稱編程軟件。 編程中的編程軟件 編程軟件分兩種版本:玩具版本(8547 NXT零售版本附帶)和教育版本(左圖)(須在網上下載,只有9797 NXT 教育版本用戶可使用),它們的主要區別是玩具版只有英語,而教育版本可選擇語言。 編程軟件教育版本起始頁 編程模塊與線程 NXT-G語言最主要的編程方法則是用這些模塊。每一個模塊代表著文本編程語言的一個或多個語句。圖中的模塊從左自右依次是:“前進(bc馬達)” “檢測位于三端口的光電傳感器”“轉動A馬達”。而壓在模塊下面的樂高橫梁則代表線程,所以圖中的程序是一個簡單的單線程程序。模塊可以任意從模塊面板或編程區中的任意地方拉到橫梁上并成為程序的一部分。當然,模塊也可以從外部導入(工具-》模塊導入導出向導...),就像c中的外部頭文件,還可以利用編輯-》新建“我的模塊”來新建自己的模塊,就像c里的自己編寫函數。而要分支出一個線程時,則需要用連接工具(shift+鼠標點擊)把要連接的模塊和主線程連接起來。 編程模塊的設置與數據中心、數據線 NXT-G語言的每個模塊除了需要擺放,還需要進行相關的設置,在編程軟件中表現為“參數設置面板”。選中一?個模塊(圖為選中右上圖中的第二個模塊),在下面的參數設置面板即顯示出該模塊的相關設置選項。當這個設置選項需要用前面的模塊來決定,則需要數據中心與數據線。點擊模塊的左下方(像一個凹槽),數據中心就會彈出(如上圖),再點擊一下即彈回。數據中心分為很多排,每排中間都以一個圖標,鼠標停留在其上時,即彈出此排數據接口的名稱。數據接口即為圖標兩旁的金屬接頭,向左的為輸入接口,向右的為輸出接口,點擊一個輸入接口(輸出接口),再點擊一個輸出接口(輸入接口),即可連接數據線(如上圖綠線)。輸出端口可以分為很多個數據線分別連接輸入端口,但輸入端口只能接一條數據線。其中黃線為數字數據線,綠線為邏輯數據線,橙色為文本數據線,灰色虛線為故障數據線。點擊數據線的輸出接口即可刪除數據線,關閉數據中心時連有數據線的數據接口不會隱藏。 NXT-G編程環境 NXT-G的交互式編程環境基于國家儀器(National Instruments)的LabVIEW軟件提供,LabVIEW最大的特色就是以圖形化編程G語言來組織程序,編寫程序的展現形式為具備特定邏輯結構的框圖。各模塊功能實現則由LabVIEW中能完成各項編程任務的龐大函數庫提供,包括數據采集、數據顯示、數據存儲、GPIB通用接口總線、串口控制、數據分析、藍牙通訊等。此外,LabVIEW可視化編程環境提供了與傳統IDE環境相同的程序調試工具,如斷點設置、以動畫方式顯示數據及其子程序的結果、單步執行等功能。 NXT-G編程環境對Windows和Mac OS X都提供了良好支持。除了NI LabVIEW軟件外,還有不少支持NXT-G編程的軟件程序。包含NXT-G零售版和NXT-G教育版、LEGO基于LabVIEW簡化定制的 RoboLab工具,樂高機器人專用的匯編指令NBC,以及基于NBC編譯器實現且語法與C語言相似的高級語言NXC等。 如果你是喜歡自己動手又對自動控制感興趣的程序開發者,不妨嘗試一下樂高NXT積木和NXT-G編程環境,LEGO一定會為你帶來豐富的體驗和樂趣。 下面是本期編程語言排行榜的其他排名數據和趨勢走向。 前10名編程語言走勢圖 20到50名語言排行
(Visual) FoxPro, ABC, Algol, Bash, bc, BETA, Bourne shell, CFML, cg, CL (OS/400), Clean, cT, Dylan, Eiffel, Factor, Free Pascal, Groovy, Icon, IDL, Inform, Io, J, JavaFX Script, JScript.NET, LabVIEW, LabWindows/CVI, Lingo, LPC, MAD, Magic, Max/MSP, MUMPS, NATURAL, Oberon, Occam, OpenCL, OpenEdge ABL, Oz, PowerShell, REXX, S, Standard ML, SuperCollider, Tcl, VBScript, Verilog, VHDL, X10, xBase, XSLT 不同語言的比例 |