Forgot your password?
typodupeerror
Robotics Programming Toys IT Technology

.Net On Lego Mindstorm 132

Posted by timothy
from the send-miguel-a-set dept.
troop23 writes "A blog posting by Benjamin J. J. Voigt says this "The University of Potsdam has a project to develop a .NET VM for the Lego Mindstorms system. Lego Mindstorms just got a higher priority on my shopping list!" While the thought of using .Net to program Lego Mindstorms may not be palatable, having a mainstream dev environment sure is." Perhaps Mono would work just as well.
This discussion has been archived. No new comments can be posted.

.Net On Lego Mindstorm

Comments Filter:
  • by Phoenixhunter (588958) on Sunday September 12, 2004 @03:38PM (#10228977)
    Last I heard they had to axe some of their newer lines of products...they doing okay? I'd hate for my children to grow up in a world without Lego one day...
    • Lego, like D&D or Disney, is a secure enough brand that even if its current owner went belly-up the brand itself would be bought, lock stock and barrel, and someone else would put out Legos.

      The only thing that could kill Lego would be someone competing with Lego and doing Lego better--in which case your kids would have leogos, just with a different name.
    • by Coward, Anonymous (55185) on Sunday September 12, 2004 @03:50PM (#10229056)
      They expect to break even [lego.com] this year.
    • After the financial flop of mindstorms and other stuff, that techies love and grandparents do not understand, they pulled the lever and are heading in a different direction now.

      The cash flow dropped by 25% in 2003 alone. So they want to cuts 500 jobs by 2006.

      You can read more at
      http://www.wdr.de/themen/kultur/stichtag/2004/ 05/0 1.jhtml
      (German only).
      • by mark-t (151149) <markt@lynx.b c . ca> on Sunday September 12, 2004 @05:27PM (#10229544) Journal
        They are not pulling the plug on Mindstorms.

        See here (January 2004) [lego.com] and here (March 2004) [lego.com]

        There was quite a kafuffle shortly after Christmas of last year when LEGO announced their shift in direction. Quite a large number of people were very concerned that LEGO would be dropping Mindstorms. Flurries of posts on LEGO discussion lists and even letters directly to LEGO were filled with remarks much to the effect of "What?!?!? Why is LEGO doing this?" LEGO issued the January press release above to abate those concerns. Also mentioned above is a March release in which they restate the Mindstorms is one of their core products and they will *NOT* be dropping it.

        First Lego League [firstlegoleague.org] is also very dependant on Mindstorms, and I don't think they're going away anytime soon.

      • Most of us know that it was their annoying shift to incompatible bricks, or ones which were only useful in a single model - and not easily recombined for others. Most of the Bionacle range fell into this category.

        Mindstorms did well, and it was compatible with the rest of Lego. For a start - they still included beams. While the liftarms are a useful addition - I dislike the way the technic beams have been phased out of most technic models in favour of the liftarms. My beginner students (in the OrionRobots
      • Mindstorms sold about 300% of the expected number of boxes the first year.

        If that's a financial flop for Lego, I don't want to know how they survived this long.
    • Now what would be wrong with this? It's not as if any of Lego's products are much more than action figures at this point. Sets full of bizarre one-use pieces and simple, mindless instructions make Legos as intellectually stimulating as Pet Rocks. Just get your kid a knife and some sticks.
      • by meringuoid (568297) on Sunday September 12, 2004 @04:37PM (#10229288)
        There's a Lego store recently opened in Birmingham which has some truly amazing stuff. Yes, there's a lot of that awful Bionicle stuff and suchlike with special pieces and so on, but there's SO MUCH COOL STUFF!

        I only just got out of there yesterday without buying a giant orange robot looking just like EVA-00, with instructions for four or five alternates. They've got a pick-and-mix section at the back where you can take a big tub - like the ones you get drinks in at the cinema - and fill it with your choice of pieces. Classic models - like the pirate ships your parents would never buy but you can now afford yourself! muhahaha!

        Um, sorry, got a bit carried away... but I think Lego are getting the idea lately, and realise what their market really is.

    • It seems that basic Lego stuff like bricks, technics and the robotic stuff (ie. the real creative/educational stuff) is suffering a turndown due to a shift in consumer spending.

      It used to be that Lego was about the most interactive toy/game available. Build and break stuff and make it work.

      These days there are far more stimulating interactive alternatives (computer games etc). Given the choice between an XBox and a Mindstorms set, most kids will choose the XBox. Lego's core biz is suffering in this competit

      • When I was a kid in the early 90's, Nintendo was just as expensive as xbox is today, yet I still played with legos and enjoyed them. Why? Because my parents bought them, and encouraged me to use them at a young age. Maybe Lego's lack of sales should be attributed to the parents. When I was a kid, I could only play video games a few hours a day, which caused me to play with legos more.
  • Why? (Score:5, Interesting)

    by cbrocious (764766) on Sunday September 12, 2004 @03:38PM (#10228981) Homepage
    I don't get it. Why would they go with .NET rather than just writing a C/C++ compiler for it? We're talking about a low-speed embedded device here, a situation where the use of a VM is less than ideal. Is it just because they want to make the front page of slashdot, or is there a real reason?
    • by furball (2853)
      Or better yet, why not go from common run time to Mindstorm specific native code.
      • Re: why? (Score:5, Interesting)

        by ron_ivi (607351) <sdotno&cheapcomplexdevices,com> on Sunday September 12, 2004 @04:58PM (#10229372)
        Or even better, use a more powerful microcontroller for your legos like a GameBoy [charmedlabs.com]. Programmable in C or C++, has Sound and a color LCD display, and with a 32-bit RISC CPU, you can do far more with this than the current Mindstorm microcontroller.

        Bluetooth [engadget.com] modules are apparently also available for this device. Engadget [engadget.com] has a description and a link to a cool video of this Gameboy/Lego interface in action

        • When dealing with what will most likely be a very restricted subset of the base class library, the differences between C# and C++ or Java really begin be less and less noticible I suspect. Just think basic syntax and structure.. all 3 of those languages have thier roots in C and share a common syntax. Strip away the bells and whistles, and they're more or less the same thing.
    • Re:Why? (Score:4, Informative)

      by Anonymous Coward on Sunday September 12, 2004 @03:46PM (#10229023)
      The .NET VM, which was originally OmniVM from Colusa [thefreedictionary.com] (who microsoft bought in '96); is a really nice design - more flexible (able to run more languages easily) than the Java VM.

      C/C++ (which the parent article asked about - is really just a language (like C#) and not a runtime). The biggest distinction is that the runtime will address issues like loading code dynamically. Had they simply ported C/C++ there would have been a whole lot more architecture-specific battles to fight (a.out vs elf, etc).

      • by DrXym (126579)
        I'm sure it's wonderful. It's just too bad that MS can't even produce cross-platform compatibility even within their own product line. For example, Windows Mobile uses .NET compact framework while XP uses the normal framework.

        Despite their names, they are not binary compatible and barely source compatible as you'll soon find if you try to port even the simplest app.

        Once you take away cross-platform "write once" functionality, what was the point of using a interpretive runtime again? You'd be better off

        • Re:Why? (Score:4, Insightful)

          by Anonymous Coward on Sunday September 12, 2004 @04:34PM (#10229276)
          Too bad Sun can't produce cross-platform compatibility even within their own product line. For example, mobile devices use J2ME while PCs use the J2SE framework.

          You will find a lot of the J2ME and J2SE are not binary compatible and barely source compatible if you try to port the simplest app. The "Write once, run anywhere" argument doesn't really stand up here IMHO.
        • Re:Why? (Score:5, Insightful)

          by jrumney (197329) on Sunday September 12, 2004 @04:36PM (#10229283) Homepage
          Windows Mobile uses .NET compact framework while XP uses the normal framework....You'd be better off you use a C++ compiler, or use a proper runtime Java where "write once, run anywhere" actually means something.

          Do you think those Java capable mobile phones have the full blown Java API on them, and run standard non-preverified class files?

          • Do you think those Java capable mobile phones have the full blown Java API on them, and run standard non-preverified class files?

            To elaborate, J2ME is not J2EE. You have a very limited API. Vector isn't supported. Neither is Serializable. Most of the IO is stripped out (you can add some back in through special extensions; most phones have some of that stuff so that J2ME can send SMS messages) UI is completely different, and only supports 4-5 primitive objects (List, Menu, Canvas, Textbox)

            Images aren
        • Despite their names, they are not binary compatible and barely source compatible as you'll soon find if you try to port even the simplest app.

          They _are_ binary compatible, .Net CF is a subset of the full framework, so any binary written for it will run on any CF platform as well as XP. I've actually done this plenty of times.
    • I think this is another case of the infamous 'We did it because it could be done'; from the website, I see no 'About' page or examples of how 'Lego.NET' is useful.
      • From what I understand form these slides (http://www.dcl.hpi.uni-potsdam.de/ablage/Micro.pd f) The aim is to have a fully integrated experimentation system, including the ability to launch experiments from remote locations etc.

        After all the project is done by a middleware focused group, so they want to connect different platforms I assume :-)
    • by Lxy (80823)
      There already is one, it's called NQC (Not Quite C). [sourceforge.net]

      As you said it doesn't make a lot of sense to write a VM for the RCX, given the limited space and horsepower. I suppose it gives cross platform testing capability, but even so a language like NQC seems more effective. At any rate, it's still a cool hack.
    • Re:Why? (Score:4, Informative)

      by gabebear (251933) on Sunday September 12, 2004 @03:49PM (#10229048) Homepage Journal
      There is a replacement firmware that lets you use C++ compiled binaries BrickOS [sourceforge.net]. works well, I'm about to re-release a web interface for BrickOS. The old LegOS compiler is Here [mersenne.com].
    • Re:Why? (Score:5, Insightful)

      by iamdrscience (541136) <michaelmtripp@gmai[ ]om ['l.c' in gap]> on Sunday September 12, 2004 @03:49PM (#10229050) Homepage
      Well there already are C/C++ compilers for Lego mindstorms, so writing a new one wouldn't add that much. Writing a .net VM however fulfills a new purpose. Whether it's really necessary or ideal is another argument, but it definitely provides more new functionality than writing another C compiler would.

      Anyways, while you're right a VM is less than ideal for embedded systems, there are embedded Java VMs that people use and to a lesser extent there are people that use python and perl in embedded systems. Sometime it just makes sense to choose a solution that requires more computing power because it allows you to program faster. In fact, I think if there's any case of an embedded system where a VM isn't a big deal it would be one that's just for fun, not production, that is, the exact market of lego mindstorms. I mean, it's really a lot like Basic stamp microcontrollers. It doesn't make sense to build a product around them, but if you're just messing around with stuff there are plenty of people who don't mind paying more so that they can write their code quicker.
      • Re:Why? (Score:5, Informative)

        by xenocide2 (231786) on Sunday September 12, 2004 @05:56PM (#10229840) Homepage
        Funny story about Java. Originally it was designed as a language for embedded systems, back when it was called Oak. There, the idea of a VM to provide various system tasks is actually quite tenable. The idea being, they write the VM once for a platform, and you're free to start prototyping the code before you finalize your choice of board.

        Reality sunk in, and the embedded systems market just didn't like the idea. Training people in the new language was going to be expensive (compared to the status quo), and most were skeptical about the utility of a VM. The concern being that you typically need or want access to specific available resources that an abstract interface can't provide.

        Seems marketing shifted gears and started pushing applets and the web. Went okay for them in the end, I guess.
      • embadded jvms or MS net vms are not actually true all pure vms..

        alot fo JIT compiler tricks nad scaling back fucntions make an embedded vm highly tunned for that environment but a pian inthe ass to write for..

        Not the same pian you got from writing game smid 1980s in assembly for small memory machines but similar challenges no matter what VM technology you are writing to..

        The only difference is that we somewhat better toools in IDEs and code analysis to help us along the way

    • Re:Why? (Score:2, Insightful)

      by m50d (797211)
      Probably because they want to get lots of young/innovative developers excited about it. And .NET is what a lot of the young/innovative developers are excited about.
    • So you can have hot-swappable bricks running in an enterprise environment. You wouldn't let your entire factory be dependent on the reliability of a single RCX block, now would you?
    • We're talking about a low-speed embedded device here

      No, we're talking about a Lego toy. It ships with an interpreter in the firmware. The kiddies aren't writing optimized assembly code, they drag and drop GUI lego bricks that say "If" and "While" on the bricks.

      Sheesh. It's not like giving it .NET is going to make it Enterprise-ready. Who cares if it's slow?

  • Java VM (Score:5, Informative)

    by Anonymous Coward on Sunday September 12, 2004 @03:42PM (#10228992)
    A Java VM exists already. It's called leJOS.
    • Re:Java VM (Score:3, Insightful)

      by owlstead (636356)
      I'd rather program for that. Both for mobile phones as for Smartcards there once was a MS alternative. Both seem to fail where Java succeeds. I wonder what big advantages .NET can buy you in comparison what a good development environment (e.g. Eclipse) with J2ME can offer. Especially since the latter is free. On the other hand, a bit of (true) competition never hurt the market.
    • I programmed in leJOS for a real time systems class. It was pretty phatty. Worked well. Had the Legobots navigating mazes, not falling off tables, moving colored balls into goals, playing laser tag with other bots. Fun times, fun times.
  • FIRST Lego League (Score:3, Informative)

    by His Eminence (699348) on Sunday September 12, 2004 @03:42PM (#10228995)
    http://www.usfirst.org The FIRST lego league might have use for this, but I doubt middle-schoolers would be interested...
    • Re:FIRST Lego League (Score:1, Interesting)

      by Anonymous Coward
      I used to be on a team last year. Now (I guess) I'm helping run the state tournament's website. The FLL link you are looking for is http://www.firstlegoleague.org/default.aspx [firstlegoleague.org].

      Unfortunately, this probably won't change anything. I did want to program in higher-level (or lower, whichever way you look at it) languages, but they didn't allow "external" programming languages.

      6. ALLOWABLE SOFTWARE The Robot must be programmed using LEGO MINDSTORMS Robotics Invention System or RoboLab software (any version).

      (

  • by Anonymous Coward on Sunday September 12, 2004 @03:44PM (#10229003)
    BrickOS. It's faster and has many more features than NQC (a competing language) which uses the proprietary Lego firmware for the RCX.
    BrickOS has its own firmware and supports threading and all the basic C/C++ functionality.

    See:

    http://brickos.sourceforge.net/
  • Considering Mindstorms came out in 1999, they must have been damn low on your shopping list to start with...

    And anyway, within six months we could code on something approaching C on the thing; I don't see why .NET would be that much more appealing.
  • Mindstorms Robot (Score:4, Interesting)

    by andrewdk (760436) on Sunday September 12, 2004 @03:44PM (#10229009) Homepage
    Bah. My LEGO Mindstorms robot + Vision Command camera beats everything when I use Perl and PHP to allow people to drive it around my room from across the world. A link to this robot's interface would mean doom to my connection so I'm keeping it under covers ;)
  • by jhoger (519683) on Sunday September 12, 2004 @03:46PM (#10229018) Homepage
    .Net for an embedded uC? No more appropriate than Java would be.

    C, or assembler, or Forth.

    -- John.

    • by Anonymous Coward
      Java VMs anf Forth are very similar. I've had a job writing Java Bytecode by hand (for a javachip, building the higher-level bytecodes (like invoking methods [sun.com]) over the lower-level ones.

      Both have a very similar stack, and both do all their operations on the stack in the same way.

      Some of the first java chips were modified Forth chips (from patriot scientific). Others (the one from icompression) were very simple stack-based designs as well.

      What advantage do you think Forth has over a VM? Both do well o

      • Well, for an embedded system you don't need any VM. You can just program in C or assembler for your target.

        But say you want to take the VM approach, I suppose one is as good as any. Forth has the advantage though of being older, tried, and tested.

        To my mind the main things going for Java and .Net is the fairly comprehensive runtime. But none of that comes along with you onto the embedded platform, so why not just go with old stolid Forth, with as much assembler as you need?

        Frankly though most uCs do just
    • Please come out from under your rock.

      Java Controlled Inverted Pendulum [feedroom.com] (seek to 22 minutes into the presentation)
    • A Java environment for the Mindstorms [sourceforge.net] has existed for quite some time. Appropriate or not, some people seem to find it useful.
  • NQC? (Score:5, Informative)

    by MrFlannel (762587) on Sunday September 12, 2004 @03:50PM (#10229057)
    There already is a C compiler (well, its very close to real C) its called NQC (Not Quite C). You can buy a book about it. Google yields this as its site. http://bricxcc.sourceforge.net/nqc/
    • NQC is pretty slick. It made my little rover a heck of a lot smarter.

      Of course I still got bored with it right away... but it sure was cool :-)
  • Parrot? (Score:1, Funny)

    by Anonymous Coward
    I'd rather see someone getting parrot to run on it. =)
  • Why? (Score:1, Informative)

    by Anonymous Coward
    Why not use Lejos for Java [sourceforge.net]?
  • by xelph (542741) on Sunday September 12, 2004 @03:58PM (#10229098)
    of that blue brick fo death!
  • Yes. (Score:4, Funny)

    by Anonymous Coward on Sunday September 12, 2004 @04:06PM (#10229135)
    Evil robots with minds built by the Microsoft corporation all over the world.

    I, for one, welcome our new Microsoft powered robotic overlords.
  • by mollymoo (202721) on Sunday September 12, 2004 @04:13PM (#10229171) Journal
    I've been playing with Mindstorms for a few years. There are basically two approaches used for programming the brick: Using the Lego firmware and replacing it. The graphical Lego programming language provided with the kit compiles to bytecodes which run on the Lego firmware. It's not very fast or flexible. The brick is a Hitachi H8 at heart, so writing code for it is preferable if you know how.

    NQC (Not Quite C) is compiled to Lego bytecodes. BrickOS programs are compiled to H8 with gcc. There are also Forth and Java environments.

    Given the range of options available (for *nixen, Windows, Mac...) I'd have to say in this case "mainstream" must mean "Microsoft".

  • IDL Libraries? (Score:3, Insightful)

    by mysterious_mark (577643) on Sunday September 12, 2004 @04:31PM (#10229255)
    Great now you'll have to include 60 MB of IDL code to run any program. Where do these ideas come from? Who would think to port a bloated server app development API to a portable device. .NET is loved by managers who think they can dumb down their server side code so any H1-B can do it, that's about it. Nobody even uses .NET for desktop apps, so where'd the idiotic idea that it would take off in a portable environment come from. The main reason I refuse to use .NET for desktop apps is the 60 MB IDL needs to be included, better to VB 6 or anything else for that matter. M
    • Re:IDL Libraries? (Score:5, Informative)

      by omicronish (750174) on Sunday September 12, 2004 @04:55PM (#10229366)

      Great now you'll have to include 60 MB of IDL code to run any program. Where do these ideas come from? Who would think to port a bloated server app development API to a portable device. .NET is loved by managers who think they can dumb down their server side code so any H1-B can do it, that's about it. Nobody even uses .NET for desktop apps, so where'd the idiotic idea that it would take off in a portable environment come from. The main reason I refuse to use .NET for desktop apps is the 60 MB IDL needs to be included, better to VB 6 or anything else for that matter. M

      I would imagine most of that 60 MB is the .NET framework library, only a fraction of which you'd really need to port to portable devices. Stuff like ASP.NET, Winforms, the entire System.Drawing namespace probably wouldn't be needed. At the very core you'd only need an execution engine, which is basically an IL interpretor, and perhaps a partial implementation of the System namespace. Yes, there's bloat, but certainly nothing like 60 MB, and for something non-critical like Lego Mindstorms, the bloat would be acceptable to me.

      • Re:IDL Libraries? (Score:3, Interesting)

        by owlstead (636356)
        You are right about that. Consider Java where a similar thing is happening with J2ME. True, the complete API is much larger, but the main bytecode compiler is much smaller. For Javacard, there is a stripped down java.lang package, and a few specialized crypto and communcation libraries. We're talking KB's here. Garbage collection, class loading , everything is stripped except the byte code and the Java language itself.

        The main benefits? Class support, byte[] support without the possibility of buffer overfl
    • Great now you'll have to include 60 MB of IDL code to run any program.

      The .Net redistributable runtime is 23MB. .NET is loved by managers who think they can dumb down their server side code so any H1-B can do it, that's about it.

      Please explain how .Net is "dumbed down," I'm not quite sure what that is supposed to mean.

      Nobody even uses .NET for desktop apps

      Just because you haven't seen it for yourself doesn't mean that nobody is doing it. If anything it just demonstrates that you have had limited
      • Great, so now I would have to download this massive .net runtime environment just to use the ati control panel. Tell me how this is a good thing?
        • 23MB is massive? Are you posting into the future from the year 1995?

          That's smaller than the size of the driver package itself -- even the version WITHOUT the .Net based control panel.

    • Re:IDL Libraries? (Score:3, Informative)

      by SilentChris (452960)
      The article doesn't mention, but they could very well be using the .NET Compact Framework, which is a hell of a lot smaller and doesn't contain any of that server stuff. There's Winforms (which they wouldn't need) but the rest would be salvagable for a couple of lego bricks.

      As for using .NET for desktop apps (*shrug*), I've sure seen it. I have to deal with a lot day-to-day, and if it's a choice between pounding out a few objects and events in .NET vs. installing the latest Java VM on everyone's machine
    • I used to code everything in C++ but now I use C# for most UI work and write a C++ DLL if needed for some reason. Sure it has some annoying bits but so do all languages/frameworks.
    • Re:IDL Libraries? (Score:3, Informative)

      by TummyX (84871)
      Uh, I think you mean IL. IDL = "Interface Defninition Language" whereas IL = "Intermediary Language". Getting the teminology wrong when you're trying to sound smart and informed isn't a good idea.

      FYI, the .NET redistributable is 23MB, the compact framework is 12MB (and that includes VMs for all supported processors). Portable.NET (DotGNU's runtime) can fit on a single floppy.
  • by ellisDtrails (583304) on Sunday September 12, 2004 @04:33PM (#10229266) Homepage
    Please elaborate why it would be a negative to provide the very robust .NET Framekwork to Lego Mindstorms.
    I love how the editorial commentary on posts here is full of straw-men and assertions. Prav-dot anyone?
    • Get him! He's threatening our hegemony!
    • Please elaborate why it would be a negative to provide the very robust .NET Framekwork to Lego Mindstorms.

      I hate to surprise you, but some of us don't like Microsoft. Shocking news, I know. You can talk all about standards and robustness all you want, but Microsoft is the company behind it. To me it is therefore not palatable, and therefore the comment, "may not be palatable", was correct.
      • Oh the joy of baseless assertions, straw-men arguments, and ad hominem attacks. I love this place. Someday, the people of Slashdotworld will realize the Microsoft wars ended years ago.
        • Oh the joy of baseless assertions, straw-men arguments, and ad hominem attacks.

          Perhaps my sarcastic tone could be seen as an ad hominem, but I was truly trying to explain why. You asked for an explanation, remember? Please explain how the arguments in my post ware a strawman or a baseless assertion.

          I love this place.

          Well, posts on Slashdot often annoys me too if that makes you feel better.

          Someday, the people of Slashdotworld will realize the Microsoft wars ended years ago.

          Depends, define Micros
  • by Proc6 (518858) on Sunday September 12, 2004 @04:52PM (#10229348)
    "While the thought of using .Net to program Lego Mindstorms may not be palatable..."

    Man what's with the bias against .NET. Oh it's not "worthy" of controlling Lego Mindstorms?

    OH NOS! OMGZ, I R NOT HAX0RING MY LEGOS NLESS ITZ IN ASS3MBL3R. .NET BAD K PLZ THX! D0WN WIT MICRO$OFT!!!!111!1!

    Seems to me .NET is a good idea, so good in fact it's ripped off by Mono. A solid intelligable foundation library of objects, inter language, cross platform compatability. C# is a very enjoyable language to work in for some of us (personal preference). There's always the /.'ers with monkeys on their backs that insist its one huge elaborate Microsoft bait and switch to lock everyone into the Microsoft Evil Empire, but it seems to me theres a ton of positives as well, ECMA standardization, dozens of .NET capable languages now, and the MONO project is a great thing (that is a direct result, like it or not, of .NET being born). So whats with all this "oh nos, its Microsoft, so I shall not dirty my hands of complimenting it! Must bash in every post ever!".

    Open your minds like you open your source and you might learn something, like some tools are good for some jobs, other tools for other jobs. Not everything that comes from MS is evil and not everything that comes from OSS is good.

    Flame away.


    • There's always the /.'ers with monkeys on their backs


      Wow... do you have photos?

    • by LnxAddct (679316)
      Seems to me .NET is a good idea, so good in fact it's ripped off by Mono. A solid intelligable foundation library of objects, inter language, cross platform compatability. C# is a very enjoyable language to work in for some of us (personal preference). There's always the /.'ers with monkeys on their backs that insist its one huge elaborate Microsoft bait and switch to lock everyone into the Microsoft Evil Empire, but it seems to me theres a ton of positives as well, ECMA standardization, dozens of .NET capa
      • C# is not technically cross platform, it only is because the OSS world is making it so. That'd be like saying a Win32 executable is cross platform compatible because of Wine.

        Oh for crying out loud. Get a clue man. C# is not technically cross platform? C# is a language, targeting the CLR, which has no Win32-specific parts whatsoever. The only difference is that Sun decided to make a Linux version for the Java VM and compiler, and Microsoft decided not too (duh). Maybe you mean the IL code generated by a C#
        • The parent also made the brain-dead comment that .NET is ripped off by Mono.

          No, the *grandparent* made that "braindead" comment, the one who was also a .Net supporter. You are so eager to flame you are attacking the wrong person.
          • No, the *grandparent* made that "braindead" comment, the one who was also a .Net supporter. You are so eager to flame you are attacking the wrong person.

            I meant grand-parent, sorry. But I was aware that the one who said it was a .Net supporter; what difference does it make? It's still wrong. I was not replying to support .Net, I was replying to clear up FUD.

            I apologize for the "brain-dead" expression though. I don't know what got into me, I guess I got too tired of correcting these misconceptions. I a
    • Maybe you're not talking about the same thing that .NET detractors dislike. It might not be the .NET itself, but rather the unwillingness to throw any additional support towards the already-unmanageable 800 pound gorilla. Maybe it isn't the OSS software people really like, but rather the freedom that they have to deal with what they don't like.

      Lesson for Slashdot readers in filtering the subtle troll:

      Either you really don't understand the people you're talking about, or you're just an astroturfer. Discr

      • Maybe you're not talking about the same thing that .NET detractors dislike. It might not be the .NET itself, but rather the unwillingness to throw any additional support towards the already-unmanageable 800 pound gorilla. Maybe it isn't the OSS software people really like, but rather the freedom that they have to deal with what they don't like.

        Sounds to me like you're making his point for him. Slashdotters hate .NET because it's from Microsoft ("...unwillingness to throw any additional support towards th

        • Slashdotters hate .NET because it's from Microsoft ("...unwillingness to throw any additional support towards the already-unmanageable 800 pound gorilla..."), and rather than saying so, they spew absurd "technical" arguments which merely serve to prove that they are completely unfamiliar with .NET.

          Ok then, here is one datapoint to support him. I think Windows from W2K and onwards are generally good operating systems. I think .Net is probably a good framework, though I also think that from where I'm standi
    • foundation library of objects, inter language, cross platform compatability

      And this is needed to control a palm-size device with just three variable inputs, three motor outputs, an LED screen, and a monotone speaker? Cross-platform won't even help, because no reasonable program for Mindstorms will make sense running on another .NET device, and vice versa.

      Next thing, someone will port Linux to it. There's not even a place to enter your login! This is a special-purpose microcomputer - other than the experi
  • Oh FFS... (Score:4, Insightful)

    by kahei (466208) on Sunday September 12, 2004 @05:00PM (#10229383) Homepage

    Perhaps Mono would work just as well.

    'Mono' and '.NET' are not two competing products. .NET is a standard.

    Mono is an implementation of it, together with some development tools and non-standard libs and bits and pieces.

    The MS .NET runtime (bit of a misnomer really) is also an implementation of it, together with some development tools and non-standard libs and bits and pieces.

    You cannot 'use Mono instead of .NET'. What you COULD do is port Mono to Mindstorms rather than developing a .NET VM from scratch.

    This has been a public service announcement from the department of Things That The Average Slashdotter Cannot 'Get' No Matter How Often They Are Mentioned (TTTASC'G'NMHOTAM). In next week's exciting episode, we explain the difference between copyright violation and theft, and three posters reply by saying 'you can dress it up in fancy talk all you want but it's still theft!'

    • Just like Word is a standard.
      • http://www.ecma-international.org/publications/sta ndards/Ecma-335.htm

        http://www.ecma-international.org/publications/s ta ndards/Ecma-334.htm
  • by CondeZer0 (158969) on Sunday September 12, 2004 @05:28PM (#10229553) Homepage
    For people with good taste and that program in the language that was meant to be the true C successor: Limbo [vitanuova.com], we have had Styx-on-a-brick [vitanuova.com] for a long time, and you can get the source for it too: http://www.vitanuova.com/inferno/co/rcx/ [vitanuova.com]

    Styx-on-a-brick is really cool and fits directly into the Unix way of doing things:
    % mount -A /net/legolink /n/remote

    % cd /n/remote
    % ls
    motor sensor

    % ls motor
    motor/0 motor/1 motor/2 motor/012

    % ls sensor
    sensor/0 sensor/1 sensor/2

    # Start motor...
    % cd motor
    % echo -n f7 > 0

    # Reverse the motor...
    % echo -n r7 > 0

    # Stop the motor...
    % echo -n F0 > 0

    # Run the motor for 5 seconds...
    % echo -n r7 > 0; sleep 5; echo -n F0 > 0

    # Ok, lets play with a sensor...
    % cd /n/remote/sensor
    % echo b0 > 0
    % cat 0
    0

    # Click the button a few times and then try reading the sensor file again
    % cat 0
    4

    # Let's try a blocking read on the sensor
    % echo b5 > 0
    % cat 0
    # [click the button 5 times]
    5

    # Ok, we're done playing - unmount the brick namespace
    % ls /n/remote
    /n/remote/motor /n/remote/sensor
    % unmount /n/remote
    % ls /n/remote
    %
    And then you can easily connect it an Inferno Grid: http://www.vitanuova.com/solutions/grid/demogrid.h tml [vitanuova.com]

    Why use a bad Java clone(that is what .NOT is after all) when you can use an elegant and KISS language like Limbo? Not to mention that Inferno brings the ideas of Unix into the distributed environment world in the most beautiful way... Paraphrasing God Henry Spencer: Those who don't understand the work done at Bell Labs [bell-labs.com] are doomed to reinvent it, poorly.

    uriel

    P.S.: And yes, for those still living under a rock, Both Inferno and Plan 9 are Open Source. Inferno: http://www.vitanuova.com/inferno/net_download4T.ht ml [vitanuova.com] Plan 9: http://plan9.bell-labs.com/plan9dist/ [bell-labs.com]

    P.P.S.: For those that don't know what Inferno is and to bypass SlashDot filters here is some text from Dennis M. Ritchie himself: Limbo is a programming language intended for applications running distributed systems on small computers. It supports modular programming, strong type checking at compile- and run-time, interprocess communication over typed channels, automatic garbage collection, and simple abstract data types.

    And here is an extract from an interview with Ken God Thompson, creator of Unix and co-inventor of C:
    Computer: How does your work on Plan 9 and Inferno derive from your earlier work on Unix? What are some of the new ideas arising out of this work that could and should apply to distributed operating systems in general?
    Thompson: [...] In Plan 9 and Inferno, the key ideas are the protocol for communicating between components and the simplification and extension of particular concepts. In Plan 9, the key abstraction is the file system any thing you can read and write and select by names in a hierarchy and the protocol exports that abstraction to remote channels to enable distribution. Inferno works similarly, but it has a layer of language interaction above it through the Limbo language interface which is [somewhat] like Java, but cleaner.
  • by Kevin143 (672873) <(slashdot) (at) (kfischer.com)> on Sunday September 12, 2004 @05:35PM (#10229617) Homepage
    I did a lot of lego design for a robotics competition I competed in last year. While legos are great because they are so easy to use, I can't stand using them for anything even slightly large in scale because of what I have dubbed "The Lego Design Flaw." Basically, there is a 6:5 ratio of height to width on legos which makes construction and reinforcement much, much more difficult than it needs to be when working in the full 3 dimensions that the Lego Technic allows one to work in.
  • by turgid (580780) on Sunday September 12, 2004 @05:49PM (#10229784) Journal
    Can't Microsoft apologists think of anything new? This was done with Java [freshmeat.net] years ago [freshmeat.net]!

    Double-plus good Bill.

  • Use Ruby (Score:3, Informative)

    by Anonymous Coward on Sunday September 12, 2004 @05:51PM (#10229801)
    There's a Ruby interface for Lego Mindstorms here:

    http://rubyforge.org/projects/lego-mindstorms/
  • Who cares about .nET when you can run Esterel on Lego Mindstorms? Seriously, let's see someone do some cool things with a language tailored for lego projects before porting language (Standards) for no reason. I term this project a BWOTE. Big waste of time and effort.
  • With a whopping 32kilobytes of memory, you'll have a hard time
    porting mono to it...
  • Languages (Score:2, Insightful)

    by Anonymous Coward
    I find it really stupid that people on here are saying stuff like "Why use .NET when this has already been done with C | C++ | Java". People who program on a regular basis tend to use a specific language(s) more often than not. It'd be like saying "Why speak English when French | German | Japanese is better?". I spend most of my time writing things in C# and PHP, I don't want to learn C++ or Java to write programs for fricken legos. And for everyone who calls .NET a Java clone, it may be, but just because
  • LeJOS? (Score:2, Informative)

    by Anarioch (451636)
    Nice to have a mainstream dev environment? LeJOS [sourceforge.net] is a Java VM for the brick and will let you run Java programs on it - and it's been around for a long time now (I've been using it for a couple of years). Seeing some of the things people have done with it is impressive - a Rubiks cube solver, vision systems using RPC stand out.
  • by Gentlewhisper (759800) on Sunday September 12, 2004 @08:54PM (#10231284)
    While mindstorm is cool, but i'm kind of disappointed to see how underpowered the motors are. If only they'd have some kind of "adult" mindstorm sets where you can build you own remote controlled helicopter out of legos.. wow, that'd be so darned cool.

    Of course I doubt usual lego blocks would do though, too heavy to fly, but there's the idea. I'm sure many parents still have a secret longing for the toys they played in their childhood.

    Guys never grow out of their toys! =)
  • lego helper (Score:4, Funny)

    by yuppienetworking (801485) on Monday September 13, 2004 @12:41AM (#10232516)
    LEGO + .NET = lego-helper.
    You will start building something when out of nowhere some lego pieces shaped like a paper clip start talking and say: "It looks like you are building a car..."
  • As those who did read the projects weblog might have noticed, they are currently not offering a VM.

    There is an interpreter for the Hitachi microcontroller and a GCC IL frontend available. Thus you can run .NET in the RCX, just not in a VM. The interpreter might be extended to become an VM, but as some have already pointed out, this doesn't make much sense.

Aren't you glad you're not getting all the government you pay for now?

Working...