Languages on the NXT... compared

UPDATE: Steve has made some format changes to make the LIST a little easier to read - Jim

Steve Hassenplug has tried to collect as much information as possible about the (many!) programming options availible so far for the NXT, and put up a nice comparision table. He's gotten input from a number of us on this, although some cells in the table still need to be filled out or updated (for instance, we're still trying to figure out the "best" way to compare and contrast the speed of the different offerings). If you can think of something else to add to this, please feel free to comment here and I'll try to get the suggestions to Steve. Notice that this table already lists 9 different options for the NXT, less than a year after its release... and that's not including off-brick remote-control type applications a yet! Impressive growth. Anybody want to comment?

Brian Davis


Anonymous said…
I'd just add iCommand to the off-brick command tools. It is from creators of Lejos, all in Java.
Brian or I will let Steve H. know... thanks for the note.

Tony Buser said…
Off brick controllers is missing iCommand like he said, perl LEGO::NXT and ruby-nxt
Anonymous said…
This is a SUPER list.

Actually this rapid growth in programming environments is a danger to the continued success of the product (IMHO), but lists like this certainly points out which is least relevant in most cases.

What would be interesting now is a possibility to vote what users use at the moment/consider in the near future. A convergence is likely happen, and a large user-base is just as good an indicator as functionality.
Brian Davis said…
A large user base *is* probably a good proxy for functionality (or at least usability), but with two cautions. First, there are some environments that have been around a lot longer than others (like NXT-G) or have better distribution systems (like NXT-G, at the moment). And second, every user base has some built-in biases that are hard to remove. So, particularly early in the game (and this is still, to my thinking, early in the game), such a poll might be misleading too. It's a tough call (nearly as tough as figuring out how "good" a particular environment is in the first place).

Brian Davis
Anonymous said…
Very nice.

Could someone clarify what exactly is the advantage of NXT-G over NI LabView Toolkit. The table makes them look identical, but I'd believe there are some underlying differences?

Thanks for the comparison.
Anonymous said…
Tony, are these three all "remote control" options?

Anonymous said…
I agree Brian: this is early in the game :)

I am only looking for indications of where the wind blows... If we repeat the poll once in a while, it will be more interesting to spot the changes over time.
Anonymous said…
What about off-brick API's like:

Both C# and .Net.

Anonymous said…
I'm not able to view the web site.
Anonymous said…
I was just updating it. Perhaps that is the reason...
Anonymous said…
This comment has been removed by a blog administrator.
Edited comment from Charles Manning:

Correction: leJos NXJ does support OSX.

BTW: I'm not throwing rocks. It is hard to build up an accurate table like this.
Tony Buser said…
Steve, yes. LEGO::NXT and ruby-nxt are remote control options. Both are windows, linux, and osx. ruby-nxt is bluetooth only at the moment. (will add usb eventually) Also not sure what you mean by "view sensors" on the table, but yeah it can read all sensor data.
Anonymous said…
This is great! :-)
I do not know much about the language.
Should they be in list?
Python and MSDN?

Thanks for your list!
Robolab29 said…
Excellent table! However, couldn't Robolab go under the 'Off-NXT Comtrollers?' It has the Interrogate RCX / NXT feature, and it only supports USB.

Robolab 2.9
Anonymous said…
I don't see Microsoft's Robotics Studio on the list.

Doesn't it «» support NXT?
Unknown said…

as it allows for remote control only, it's listed in the "NXT Off-Brick controllers (Remote Controls)" table (just scroll down on Steve's page).
Anonymous said…
Lejos NXJ can also be used without the Java VM as just a bunch of C code. In that mode, you can write C programs, compile and link them with the NXJ source (using free ARM gcc tools) and make C applications that you can download and run.

That will give you the fastest available open source code.

Popular Posts