In his Wired.com article: “The Best Programming Language for Lego Mindstorms, Hands Down“, Chris Anderson writes,
“Play around with Lego Mindstorms NXT enough and at some point you’ll inevitably get frustrated with NXT-G, its graphical programming language of “blocks” that you drag around and connect with “wires”. It’s great for teaching kids the basics, but once they embark on anything remotely ambitious they’re bound to run into trouble. Whether it’s the crazy sprawl of blocks over the work area (even a simple loop can require screens of slow horizontal scrolling), the lack of floating point math or, perhaps worst of all, the total absence of debugging tools, sooner or later you’re going to start longing for a proper programming language that uses, you know, text and stuff.
“if…then…else”, “while”, even “for…next” – you won’t know how much you actually like those constructs until you don’t have them. For anyone who’s ever programmed, there’s nothing better for understanding programming logic than properly tabbed and commented code, all in a column of text as God intended. And for your kids, there’s no time like the present to introduce real programming, using coding conventions that will be as relevant in the decades to come as they were in decades past.
The good news is that there are lots of replacement text-based languages for Mindstorms NXT, from Java to Lua (or, if you want to stick with visual programming, you can also use LabView, the professional-grade language that NXT-G is based on).
Even better news: I’m here to tell you that one stands out from all the rest.
It’s RobotC and it’s simply fantastic. If you’re not a C programmer, don’t worry–aside from a few grammatical conventions, it could be BASIC. But where it really stands out is in the programming environment. RobotC’s integrated development environment (IDE) includes real-time syntax checking, compiling and contextual help and auto-complete of functions and variables. It has an awesome debugger, allowing you to step through your program, set break points and watch variables, or just watch the code executing on the NXT brick. And its collection of instructional and sample programs is unmatched in the Mindstorms world.”