Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

.Net On Lego Mindstorm

timothy posted about 10 years ago | from the send-miguel-a-set dept.

Robotics 132

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.

cancel ×

132 comments

Sorry! There are no comments related to the filter you selected.

Is Lego back on firm financial ground? (4, Interesting)

Phoenixhunter (588958) | about 10 years ago | (#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...

Re:Is Lego back on firm financial ground? (4, Interesting)

Planesdragon (210349) | about 10 years ago | (#10229051)

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.

Re:Is Lego back on firm financial ground? (4, Informative)

Coward, Anonymous (55185) | about 10 years ago | (#10229056)

They expect to break even [lego.com] this year.

Re:Is Lego back on firm financial ground? (3, Interesting)

dune73 (130598) | about 10 years ago | (#10229060)

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).

Re:Is Lego back on firm financial ground? (5, Informative)

mark-t (151149) | about 10 years ago | (#10229544)

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.

Re:Is Lego back on firm financial ground? (0)

Anonymous Coward | about 10 years ago | (#10229563)

You're an ill informed idiot. Mindstorms made money. It was their other products that didn't.

Re:Is Lego back on firm financial ground? (2, Funny)

Kogase (811902) | about 10 years ago | (#10229166)

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.

Re:Is Lego back on firm financial ground? (3, Informative)

meringuoid (568297) | about 10 years ago | (#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.

Re:Is Lego back on firm financial ground? (1)

0racle (667029) | about 10 years ago | (#10229374)

I knew there was a reason I liked to go to Birmingham-a-lot. It really was bad when you realized that Lego moved more to the elements then the bricks, even my Mum noticed and said it was a shame. I should get some bricks and build a huge permanent clock.

Re:Is Lego back on firm financial ground? (2, Interesting)

Laur (673497) | about 10 years ago | (#10230022)

I should get some bricks and build a huge permanent clock.

It's been done [ericharshbarger.org] .

Re:Is Lego back on firm financial ground? (2, Insightful)

0racle (667029) | about 10 years ago | (#10230231)

Ya but I haven't done it.

Re:Is Lego back on firm financial ground? (1)

crispybit (749599) | about 10 years ago | (#10229225)

I believe that a robotics "club" at the redmond campus at MS has already done this.

Respoinding to consumer pressure (2, Insightful)

EmbeddedJanitor (597831) | about 10 years ago | (#10230045)

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 competition for toy/entertainment dollars. Perhaps this is a reason for them shifting towards the theme toys (harry potter etc).

Is this a sad predictor of the fate of geekdom?

Why? (5, Interesting)

cbrocious (764766) | about 10 years ago | (#10228981)

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?

Re:Why? (1)

furball (2853) | about 10 years ago | (#10229022)

Or better yet, why not go from common run time to Mindstorm specific native code.

Re: why? (5, Interesting)

ron_ivi (607351) | about 10 years ago | (#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

Re: why? (0)

Anonymous Coward | about 10 years ago | (#10229380)

A direct link to the video [charmedlabs.com]

I love the part how the guy almost stomps on it and it sees his foot and turns out of his way.

Re: why? (1)

NickRuisi (643726) | about 10 years ago | (#10231135)

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? (4, Informative)

Anonymous Coward | about 10 years ago | (#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).

Re:Why? (1)

DrXym (126579) | about 10 years ago | (#10229121)

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 you use a C++ compiler, or use a proper runtime Java where "write once, run anywhere" actually means something.

Re:Why? (4, Insightful)

Anonymous Coward | about 10 years ago | (#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? (4, Insightful)

jrumney (197329) | about 10 years ago | (#10229283)

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?

Re:Why? (1)

ricotest (807136) | about 10 years ago | (#10229026)

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.

Re:Why? (1)

Lxy (80823) | about 10 years ago | (#10229030)

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? (3, Informative)

gabebear (251933) | about 10 years ago | (#10229048)

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? (4, Insightful)

iamdrscience (541136) | about 10 years ago | (#10229050)

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? (5, Informative)

xenocide2 (231786) | about 10 years ago | (#10229840)

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.

Re:Why? (2, Insightful)

m50d (797211) | about 10 years ago | (#10229064)

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.

Re:Why? (1)

psetzer (714543) | about 10 years ago | (#10229200)

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?

Re:Why? (1)

bunnyman (121652) | about 10 years ago | (#10229470)

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 (5, Informative)

Anonymous Coward | about 10 years ago | (#10228992)

A Java VM exists already. It's called leJOS.

Re:Java VM (2, Insightful)

owlstead (636356) | about 10 years ago | (#10229436)

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.

Re:Java VM (0)

Anonymous Coward | about 10 years ago | (#10229584)

Eclipse is pretty much ass. IDEA is a good development environment.

FIRST Lego League (3, Informative)

His Eminence (699348) | about 10 years ago | (#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 (1, Interesting)

Anonymous Coward | about 10 years ago | (#10229138)

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).
(from http://www.firstlegoleague.org/default.aspx?pid=11 250 [firstlegoleague.org] ) Yes, this is for the 2003 challenge, but from what little I can say without giving away too much, the rules still forbid it.

That doesn't mean that people won't use it though :), it just has to look real. Too bad.
-Anonymous Coward

If you want C/C++ the best thing to use is (4, Informative)

Anonymous Coward | about 10 years ago | (#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/

Re:If you want C/C++ the best thing to use is (0)

Anonymous Coward | about 10 years ago | (#10229147)

Ugh. Let's get serious: the longest used, best supported, and IMHO best option for programming on Handyboards and RCX bricks is Interactive C. It's free at http://botball.org

It's still on your shopping list? (1)

Enoch Root (57473) | about 10 years ago | (#10229004)

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 (4, Interesting)

andrewdk (760436) | about 10 years ago | (#10229009)

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 ;)

Re:Mindstorms Robot (0)

Anonymous Coward | about 10 years ago | (#10229100)

Got a link to the actual perl and php part of the code? love to use my mindstorms for a useful cause.

Re:Mindstorms Robot (1)

andrewdk (760436) | about 10 years ago | (#10229123)

I may release it... but when I don't know...

Re:Mindstorms Robot - with GameBoy microcontroler (1, Interesting)

Anonymous Coward | about 10 years ago | (#10229355)

I think this interface card [engadget.com] for Charmed Labs that turns a GameBoy into a controller for Legos is the coolest.

It's programmed 100% in C, is Bluetootha? enabled, etc. [engadget.com]

i bet you... (1)

leav (797254) | about 10 years ago | (#10229013)

that they'll discover a security hole that lets people control the brick remotely.....

Put down the Crack.Net pipe (2, Insightful)

jhoger (519683) | about 10 years ago | (#10229018)

.Net for an embedded uC? No more appropriate than Java would be.

C, or assembler, or Forth.

-- John.

Re:Put down the Crack.Net pipe (2, Interesting)

Anonymous Coward | about 10 years ago | (#10229096)

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 on stack-based architectures.

C works well on non-stack-based architectures with lots of registers (mips, arm, sparc, etc).

Both work about equally well (or you could sya, neither work well) on register-starved x86 based architectures.

Assembler is a different concept altogether. Note that when I was writing the high-level java bytecodes for a chip which ran Java bytecodes natively, I was using assembler _and_ a java VM at the same time.

Re:Put down the Crack.Net pipe (2, Insightful)

jhoger (519683) | about 10 years ago | (#10229782)

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 fine with whatever C compiler exists that has been tailored to that uC. Unless you're just dying for C# or Java syntax, the mainstream firmware programmer who will hopefully maintain the software (and keep support requests away from your desk) is probably going to be more comfortable with C or assembler, remotely possibly Forth.

Re:Put down the Crack.Net pipe (1)

the MaD HuNGaRIaN (311517) | about 10 years ago | (#10229137)

Please come out from under your rock.

Java Controlled Inverted Pendulum [feedroom.com] (seek to 22 minutes into the presentation)

Re:Put down the Crack.Net pipe (0)

Anonymous Coward | about 10 years ago | (#10229211)

No more appropriate? Maybe not. But anyway:
Java: http://lejos.sourceforge.net/ [sourceforge.net]
C: http://bricxcc.sourceforge.net/nqc/ [sourceforge.net]
ASM (called LASM fro LEGO ASM): http://mindstorms.lego.com/sdk2/default.asp [lego.com]
Forth: http://www.hempeldesigngroup.com/lego/pbForth/home Page.html [hempeldesigngroup.com]

So, yeah, if it's small enough, it's been done.
-AC

Re:Put down the Crack.Net pipe (2, Interesting)

HeghmoH (13204) | about 10 years ago | (#10229969)

A Java environment for the Mindstorms [sourceforge.net] has existed for quite some time. Appropriate or not, some people seem to find it useful.

Lamo (-1, Redundant)

Anonymous Coward | about 10 years ago | (#10229046)

Sigh.

NQC? (5, Informative)

MrFlannel (762587) | about 10 years ago | (#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/

Re:NQC? (0)

Anonymous Coward | about 10 years ago | (#10229174)

Not Quite C has almost been entirely subsumed by the much better Interactive C (IC). I mean, heack, NQC doesn't even have recursion.

NQC (1)

ottergoose (770022) | about 10 years ago | (#10229224)

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? (1, Funny)

Anonymous Coward | about 10 years ago | (#10229058)

I'd rather see someone getting parrot to run on it. =)

Re:Parrot? (0)

Anonymous Coward | about 10 years ago | (#10229212)

First a parrot, then a M-M-M-Maxhead-headroom. Where does it end?

Re:Parrot? (0)

Anonymous Coward | about 10 years ago | (#10231504)

Well, get coding... that's what these guys did.

Why? (1, Informative)

Anonymous Coward | about 10 years ago | (#10229059)

Why not use Lejos for Java [sourceforge.net] ?

waste (-1, Flamebait)

Anonymous Coward | about 10 years ago | (#10229084)

I'm glade I don't attend there. That seems to be a big waste of student fees.

Cool but beware... (4, Funny)

xelph (542741) | about 10 years ago | (#10229098)

of that blue brick fo death!

or of (0)

Anonymous Coward | about 10 years ago | (#10229129)

-1, Offtopic

Re:Cool but beware... (1)

andrewdk (760436) | about 10 years ago | (#10229142)

I beleive it's yellow and gray.

well on my brick... (1)

leav (797254) | about 10 years ago | (#10229099)

i use leJos..... very powerful.... you can play around with EVERYTHING....

Still trying to catch up (0)

Anonymous Coward | about 10 years ago | (#10229104)

... to Java, huh? This stuff has been around for Java for years now.

Re:Still trying to catch up (3, Insightful)

omicronish (750174) | about 10 years ago | (#10229128)

Still trying to catch up ... to Java, huh? This stuff has been around for Java for years now.

Which wouldn't be surprising since Java was released in 1996, while .NET was released in 2002. You could've said the same thing when Java was first implemented on an embedded device. C/C++ and assembly were likely there for years before.

Yes. (4, Funny)

Anonymous Coward | about 10 years ago | (#10229135)

Evil robots with minds built by the Microsoft corporation all over the world.

I, for one, welcome our new Microsoft powered robotic overlords.

Developing for the Mindstorms brick (5, Informative)

mollymoo (202721) | about 10 years ago | (#10229171)

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".

Wow, what next? (-1, Troll)

Anonymous Coward | about 10 years ago | (#10229187)

Slashdot ought to curb their atypical enthusiasm for an M$ product ... when .NET is fully realised on Mindstorm, what next? Palladium and the DMCA on Mindstorm? I prefer my cool toys to do what I tell them to, not what the RIAA/MPAA want them to do.

IDL Libraries? (2, Insightful)

mysterious_mark (577643) | about 10 years ago | (#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? (5, Informative)

omicronish (750174) | about 10 years ago | (#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? (2, Interesting)

owlstead (636356) | about 10 years ago | (#10229504)

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 overflows, exception support etc. etc. All you need to get things working, nothing you don't need. VM's are are just great for such things. The only big problem with it is if you need really tight timing. You need to go to C or assembly level code for that. So you need to encapsulate some heavy IO ops.

Re:IDL Libraries? (1)

CausticPuppy (82139) | about 10 years ago | (#10230175)

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 real-world experience in programming.
You must still be in school.

Just one recent example, ATI's latest Catalyst Control Center [ati.com] is written on .Net.

Re:IDL Libraries? (2, Informative)

SilentChris (452960) | about 10 years ago | (#10230784)

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 to run one app, I'll take the .NET route. Considering .NET will practically be the Official Framework (tm) for Longhorn, it'd be good to learn it now.

Re:IDL Libraries? (1)

BobTheAtheist (805111) | about 10 years ago | (#10232096)

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? (2, Informative)

TummyX (84871) | about 10 years ago | (#10232190)

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.

Why not "palatable" to have a .NET environment? (3, Insightful)

ellisDtrails (583304) | about 10 years ago | (#10229266)

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?

Re:Why not "palatable" to have a .NET environment? (1)

rd_syringe (793064) | about 10 years ago | (#10229306)

Get him! He's threatening our hegemony!

What's the problem? (3, Insightful)

Proc6 (518858) | about 10 years ago | (#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.

Re:What's the problem? (2, Funny)

kahei (466208) | about 10 years ago | (#10229391)


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


Wow... do you have photos?

Re:What's the problem? (2, Interesting)

LnxAddct (679316) | about 10 years ago | (#10229461)

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!".

You ever use Java? Many more libraries and they are more feature filled and flexible, also its faster. 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.
Regards,
Steve

Re:What's the problem? (1)

antoy (665494) | about 10 years ago | (#10230160)

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# compiler then? Wrong again, still technically cross platform. Hell, you can download the source code for a beta implementation of .NET for FreeBSD from MS. Sure it's Shared Source licensed, but if you thought that Mono was a damned emulation layer you might want to take a look.

The parent also made the brain-dead comment that .NET is ripped off by Mono. See above: Mono is an implementation of a runtime and compiler set based on the ECMA .NET standards and also happens to include an emulation layer for the Windows specific class libraries, and a few classes of it's own. If you read a few documents from the .NET SDK, you'll notice how they often mention having multiple implementations of the framework, and how they should work alike in certain cases.

Re:What's the problem? (TROLL) (2, Interesting)

aphor (99965) | about 10 years ago | (#10229604)

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. Discrediting your post only requires a little good discussion. The suggestion "flame away" that you are inviting people to flame you in response doesn't mean that every response is a flame. Just because you get flames does not mean your opinion holds water. It only means you have failed to reach an audience capable of responding with meaningful criticism. Inviting flames is tantamount to a request for people to pollute any discussion or criticism that may follow. You post your crap in bad faith that it can stand up to open discussion. You are a troll.

Re:What's the problem? (TROLL) (1)

Stormie (708) | about 10 years ago | (#10232100)

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 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.

Discrediting his post may only require a little good discussion, but I note that rather than doing so, you chose to call him a troll and an astroturfer, and his argument "crap". Wow, as technical arguments go, that's +5, Insightful.

Re:What's the problem? (1)

Geoffreyerffoeg (729040) | about 10 years ago | (#10230611)

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 experience of trying, there's little reason to port general-purpose systems software to it.

Oh FFS... (3, Insightful)

kahei (466208) | about 10 years ago | (#10229383)


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!'

No clue, but posting anyway ... (0)

Anonymous Coward | about 10 years ago | (#10229401)

.NET is an implementation. CLR (Common Language Runtime) is the standard.

Re:No clue, but posting anyway ... (1)

Jugalator (259273) | about 10 years ago | (#10229856)

.NET is an implementation. CLR (Common Language Runtime) is the standard.

No -- I'll copy this quote from MSDN...

The CLR [microsoft.com] :
"The Common Language Runtime (CLR) is Microsoft's commercial implementation of the Common Language Infrastructure (CLI) specification. The CLI specification is an international standard for creating development and execution environments in which languages & libraries work together seamlessly."

So, the CLR is an implementation, not a standard.

.net for Lego mindstorm? (0)

Anonymous Coward | about 10 years ago | (#10229400)

I thought I remembered reading that Lego discontinued the Mindstorm products along with a bunch of other stuff due to the company's financial problems.

As much as I would like to put Mindstorms on my shopping list they've been crossed off of it for a while now :(

This has been done before with Inferno/Limbo (2, Interesting)

CondeZer0 (158969) | about 10 years ago | (#10229553)

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.

The lego design flaw. (3, Insightful)

Kevin143 (672873) | about 10 years ago | (#10229617)

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.

Double-plus good Chariman Bill (2, Interesting)

turgid (580780) | about 10 years ago | (#10229784)

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 (3, Informative)

Anonymous Coward | about 10 years ago | (#10229801)

There's a Ruby interface for Lego Mindstorms here:

http://rubyforge.org/projects/lego-mindstorms/

There are better languages... (1)

Jack9 (11421) | about 10 years ago | (#10230066)

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.

Forget about Mono. (1)

noselasd (594905) | about 10 years ago | (#10230163)

With a whopping 32kilobytes of memory, you'll have a hard time
porting mono to it...

Languages (2, Insightful)

Anonymous Coward | about 10 years ago | (#10231026)

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 it wasen't first, doesn't mean it's not better. JSP anyone?

LeJOS? (2, Informative)

Anarioch (451636) | about 10 years ago | (#10231078)

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.

More power to mindstorm. (3, Interesting)

Gentlewhisper (759800) | about 10 years ago | (#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! =)

Re:More power to mindstorm. (0)

Anonymous Coward | about 10 years ago | (#10232309)

>Guys never grow out of their toys! =)

Sadly, the same thing can't be said of their pants.

.Net sucks bad and buggy (0)

Anonymous Coward | about 10 years ago | (#10231385)

Buggy, full of holes and too much ram to run.

Kinda ironic (0)

Anonymous Coward | about 10 years ago | (#10231547)

.NET is steeling or borrowing every single good project from the java community. for those who bitch about too many projects doing the same thing and that MS doesn't do that, think again.

Just got a lower priority on my list (0, Offtopic)

roly (576035) | about 10 years ago | (#10231593)

I'm waiting for one that can run Linux. No M$ here!
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>