How many programming languages run in your browser?
On Saturday night, I created my first-ever screencast that shows the DLR Console that Jim wrote. I demonstrate interop between all four programming languages, as well as some of the support in DLR Console for working with XAML and Silverlight.
Let me know what you think!
Really impressive, I'm heading to http://silverlight.net/community/gallerydetail.aspx?cat=2 to give it the DLRConsole a try.
Can you compile your application using the console or do you still need to run Windows and Visual Studio to do that?
Posted by: Matt Aimonetti | May 02, 2007 at 12:23 PM
You can reference a compiled assembly from the origin server. You can generate that assembly using whatever tools that you want. For example, a Mono C# generated assembly should just work.
Posted by: John Lam | May 02, 2007 at 02:01 PM
That's amazing John! It looks like MS finally got hit with the clue stick and is acting like the state-of-the-art software team that it is.
Seriously though, that might be the most impressive .NET technology to date.
Posted by: Eric Nicholson | May 02, 2007 at 02:33 PM
Thanks, Eric. We're really proud of what we were able to ship at MIX. Now we just have to get to RTM ... :)
Posted by: John Lam | May 02, 2007 at 02:49 PM
typepad ate my post...
John, a few weeks ago you said I'd be happy, and I am! This is impressive -passing function objects between dynlangs in an alpha release ... wow!
what is this visual basic thing really? it's not vb.net, right?
mangling .net identifiers to ruby casing looks nice, but from a pragmatic point of view, I think it adds only confusion. Ruby programmers are smart, they can adjust to .net conventions! And after all, once you're done nobody will want to program in ruby on any other platform, right? ;-)
Posted by: Stefan Wenig | May 02, 2007 at 11:45 PM
Hi Stefan, I think you are wrong about the method name mangling. Its not about Ruby developers being smart enough, its about honoring the Ruby conventions.
I like beautiful code and keeping the naming standards constant keeps my code simple and clean. Ruby bridges such as RubyCLR and RubyOSA mangle names for this purpose.
Posted by: MIke Moore | May 03, 2007 at 06:00 AM
Stefan,
For some developers, it's nice to see the API via the language's "standard" naming conventions. Eiffel for .NET did this when .NET 1.0 was released (they're upper-case-happy - e.g. SomeMethod() in C# "looks like" SOME_METHOD in Eiffel).
It would be nice if you could see the API as it's defined...but that's a nit.
Posted by: Jason Bock | May 03, 2007 at 06:01 AM
hey, if that's how everyone wants it, fine. just as long as IUnknown won't be converted to i_unknown or unknown ;-)
Posted by: Stefan Wenig | May 03, 2007 at 07:20 AM
You can use either obj.WringHands() or obj.wring_hands. Both will do the same thing. Jim and John showed that functionality in their Mix presentation.
http://sessions.visitmix.com/default.asp?event=1011&session=2012&pid=DEV02&disc=&id=1511&year=2007&search=DEV02
Personally, I don't see the Rubification of method names any differently than VB's case insensitivity. I don't know if VB and Ruby are using the same mechanism in the DLR to "correct" the names, since we don't have the code or bits yet, but it wouldn't surprise me.
Posted by: Mike Moore | May 03, 2007 at 09:06 AM
The linked sample console doesn't have Ruby as an option. How can I access the ruby version? Also, is there a way to run console from power shell on Windows or Terminal in OS X?
Posted by: Bernie Mac | May 05, 2007 at 04:34 PM
Ruby isn't supported right now. That demo was built using special bits that are working only in the lab right now. We'll release the first set of Ruby bits when folks can do useful things using them.
Posted by: John Lam | May 05, 2007 at 06:37 PM