≡ Menu

Chris Anderson hates graphical programming

So Chris Anderson the Editor-in-chief of Wired magazine did the final keynote presentation at NIWeek 2007 this past August. I was really excited about this since up to the run up to NIWeek I had managed to purchase and read his book, The Long Tail. I was also eager to get him to sign it, which I managed to do.

Chris did an amazing job in the keynote of describing his involvement with the LEGO Mindstorms NXT robotics system and how he created a UAV which was controlled by the NXT. This is marketing gold for LEGO and an inspiration to all, young and old as to what can be accomplished with a few low cost LEGO parts and a cell phone. He mentioned how his 9 year old son programmed the NXT using the NXT-G graphical programming language (which we all know is really LabVIEW in disguise).

I left that keynote feeling happy and all geeked out because, hey, when it really comes down to it, the Editor-in-chief of Wired magazine is using LabVIEW! How cool is that?

Well, not so cool it turns out. Chris just posted on his geekdad blog that Robot C is “The Best Programming Language for Lego Mindstorms” I mean, c’mon Chris, really? Can you seriously tell us that a 9 year old kid will jump for joy when you show her a screen full of this? Give me a break. I’m beginning to wonder if you’ve turned from a geek dad to simply a geek. We shouldn’t lose sight of the fact that this intended for kids. No, really it is. The biggest challenge we have as parents is to find ways to pull our children away from various mind numbing distractions onto something useful. Showing them pages of C code is not one of them.

In this video my 8 year old son built and programmed the NXT claw on his own. I mentioned to him that he was programming in LabVIEW and he was surprised. He was surprise because he thought LabVIEW was this complicated software that only dad knew how to use and was for automating complicated machinery he knew nothing of. This is the whole point. He was able to build the mechanics and write the automation program without writing one line of code.

The future is not C or text based programming languages. The future is graphical programming. Chris mentions several times that it’s time to use a “real programming language”. I agree. This is why we should all be programming the NXT using LabVIEW. See, LabVIEW is a real programming language and contains all the things that Chris misses in NXT-G. LabVIEW has “if…then…else”, “while”, even “for…next”. It also has sophisticated debugging tools. Can it rise up to the challenge? Well, if Virginia Tech uses it for DARwIn and the DARPA challenge then I’m sure it will work on the poor little NXT brain. Oh, and if the cost is too high, there’s always LabVIEW Student Edition.

Edit: LAVA has picked up the discussion here.

Hey, this is Michael Aivaliotis! Thanks for reading my post, listening to the podcast or watching the video on this page. When I’m not posting content on this site, I help companies develop automation powered by LabVIEW. If you want to find out how I can help you succeed with your next LabVIEW project – Contact Me.

  • Chris Anderson

    Michael,

    Thanks for the post, and I do understand your perspective. We still use NXT-G for most of the younger kids, but at a certain age (around 10) it’s time to teach them text programming, and RobotC, since it works so well with NXT, is a great introduction. We have the LavView student edition, but to be honest I thought it was more complicated and harder to use than RobotC, so I decided to take the older kids straight into text programming.

    I’m a NXT developer and know what’s coming up for NXT-G, which will improve it considerably, so it will retain a place in our house. But please understand that one size language doesn’t fit all kids, and what’s right for a nine year old isn’t necessarily right for an eleven year old (or their dads).

    Best,

    Chris

  • Pingback: LabVIEW for MINDSTORMS book in the works at VI Shots()

  • Adrian

    I really belive in graphical programming, it’s a topic but what said our grandparents (or parents depending on age) about Beatles? (NOISE!!!)
    As electronic engineer I really belive in machine code programming because the programmer must be the MASTER controlling all the bits of the chip this is the extreme, but as the article says, NXT is a toy and I don’t find any structure or compile problems on the graphical programming philosophy.

  • Pavan B

    There’s something to be said about text languages and their ease in scripting and other areas. I believe there’s a place for both and lean towards Chris’ viewpoint.

  • carlos

    very well, labview… great if it would work, at least the version that came with my nxt was full of bugs, that would have been easy to fix. The main bug was that when trying to create a complex program the labview would block and crash, it looked as if the graphical elements were using too much heap memory, although i do not know the actual answer. I never had those problems using java or c, and there are very good libraries in both languages for the nxt. Also when you restrict yourself to a program to create code, instead to a language, you are in the hands of the developer, i mean that if you want to incorporate another element (such as a web cam) you have to hope that the guys from labview have created an element for that purpose, again.. using java you can just browse the internet for a new library.

  • I’ve done a lot of searching on google for this type of content. Glad I finally found this site! Great work.