9月编程语言排行榜:专为机器人玩具设计的语言NXT-G

发布时间:2011-9-15 12:49    发布者:1770309616
关键词: mNXT-G , 编程语言 , 机器人玩具设计语言 , 排行榜
最新的编程语言排行榜已经公布,与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名的编程语言排行
0945130285586842.jpg

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)”,下文简称编程软件。
09451411567324115.jpg

编程中的编程软件

编程软件分两种版本:玩具版本(8547 NXT零售版本附带)和教育版本(左图)(须在网上下载,只有9797 NXT 教育版本用户可使用),它们的主要区别是玩具版只有英语,而教育版本可选择语言。
094514288892440.jpg

编程软件教育版本起始页

编程模块与线程
0945143688057148.jpg

NXT-G语言最主要的编程方法则是用这些模块。每一个模块代表着文本编程语言的一个或多个语句。图中的模块从左自右依次是:“前进(bc马达)” “检测位于三端口的光电传感器”“转动A马达”。而压在模块下面的乐高横梁则代表线程,所以图中的程序是一个简单的单线程程序。模块可以任意从模块面板或编程区中的任意地方拉到横梁上并成为程序的一部分。当然,模块也可以从外部导入(工具-》模块导入导出向导...),就像c中的外部头文件,还可以利用编辑-》新建“我的模块”来新建自己的模块,就像c里的自己编写函数。而要分支出一个线程时,则需要用连接工具(shift+鼠标点击)把要连接的模块和主线程连接起来。
编程模块的设置与数据中心、数据线
0945144943417749.jpg

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名编程语言走势图
09451451642596263.jpg

20到50名语言排行
PositionProgramming LanguageRatings
21Assembly0.590%
22MATLAB0.543%
23F#0.512%
24SAS0.504%
25COBOL0.471%
26Logo0.448%
27Scheme0.400%
28R0.385%
29C shell0.383%
30Fortran0.372%
31ActionScript0.370%
32Go0.358%
33Scratch0.327%
34NXT-G0.327%
35Haskell0.325%
36ABAP0.320%
37Forth0.317
38Erlang0.315%
39Visual Basic .NET0.309%
40Prolog0.282%
41APL0.272%
42PL/I0.268%
43ML0.263%
44Smalltalk0.255%
45MOO0.236%
46Alice0.235%
47Ladder Logic0.223%
48Q0.216%
49Awk0.212%
50Scala0.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
不同语言的比例
0945156418123417.jpg
本文地址:https://www.eechina.com/thread-76391-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表