最新的编程语言排行榜已经公布,与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一定会为你带来丰富的体验和乐趣。
#p#
下面是本期编程语言排行榜的其他排名数据和趋势走向。
前10名编程语言走势图
20到50名语言排行
Position | Programming Language | Ratings |
21 | Assembly | 0.590% |
22 | MATLAB | 0.543% |
23 | F# | 0.512% |
24 | SAS | 0.504% |
25 | COBOL | 0.471% |
26 | Logo | 0.448% |
27 | Scheme | 0.400% |
28 | R | 0.385% |
29 | C shell | 0.383% |
30 | Fortran | 0.372% |
31 | ActionScript | 0.370% |
32 | Go | 0.358% |
33 | Scratch | 0.327% |
34 | NXT-G | 0.327% |
35 | Haskell | 0.325% |
36 | ABAP | 0.320% |
37 | Forth | 0.317 |
38 | Erlang | 0.315% |
39 | Visual Basic .NET | 0.309% |
40 | Prolog | 0.282% |
41 | APL | 0.272% |
42 | PL/I | 0.268% |
43 | ML | 0.263% |
44 | Smalltalk | 0.255% |
45 | MOO | 0.236% |
46 | Alice | 0.235% |
47 | Ladder Logic | 0.223% |
48 | Q | 0.216% |
49 | Awk | 0.212% |
50 | Scala | 0.209% |
下面是第50到100的编程语言排名
(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
不同语言的比例
【2011年榜单回顾】