.NET Developments - A SearchWinDevelopment.com Blog

.NET Developments:

 

A SearchWinDevelopment.com Blog


A blog on all things .NET, with news and tips about Visual Studio, ASP.NET, Visual Basic programming, C# and .NET architecture.

Lang.NET Day 3 considers, Ruby, Moonlight, Cobra

Ruby was first at bat on Day 3 of the Lang.NET in Redmond. Wayne Kelly and Jon Lam both presenting. Jon Lam’s IronRuby session was a status update on where the project stands, and how Lam’s Microsoft group intends to get to 1.0. He said his group has debugging and stack back-traces working. In his Day 3 report, blogger Ted Neward comments that the time is ripe for a Ruby spec to appear.

Miguel de Icaza talked about Moonlight, how it happened, where it is today, and where it can go, according to a blog post by none other than John Lam. (Moonlight is an implementation of Silverlight for Linux.)

Among interesting elements uncovered as informal stand-ups during the event was Cobra, which is described as an imperative, object-oriented general-purpose language that runs on .NET and Mono. In a single language, it seeks to combine clean syntax as found in Python and Ruby, as well as static and dynamic typing, while exhibiting run-time performance akin to C# and C++. No small task! A nod to Harry Pierson for his link to Cobra.

Visual Basic futures, Volta on display at Lang.NET Symposium Day 2

As the Microsoft Lang.NET Symposium went into Day 2, the parade of languages and language combos continued. First out of the blocks was Eric Meijer with a discussion of Volta.

Volta uses a shared programming model to allow ‘’declarative tier-splitting, ‘’ thus parsing apps into tiered-partitions. Volta has been described as a recompiler that works on MSIL rather than on a textual source language, rewriting MSIL into another target language, such as JavaScript. The Volta tools come out of work in Microsoft Research, but are available as downloads from Microsoft Live Labs.

According to Lang.NET Symposium attendee and .NET Languages blogger Jason Bock, Meijer showed a demo of Volta using VB at the event. Meijer wrote a VB client app that was translated into Javascript. Writes Bock: “Asynchronous programming is also mapped in Volta. [Meijer] showed that Volta has end-to-end profiling, which was really impressive.”

Visual Basic meister Paul Vick talked at the symposium about VB, naturally, and the idea of returning scripting to Visual Basic. According to Ted Neward, Vick said the next goal of Visual Basic was to provide the complete range of core/compiler, project and IDE services for people who want to use VB as a scripting engine. Vick demonstrated a simple WinForms app that hosted a single control that exposed the VB editor.

The odd thing is that Visual Basic seemed to take a detour to static approaches and objects just when much of the programmer community was going into reverse, heading away from C++ and Java and toward Ruby. With its appearance as part of the program at Lang.NET, it can be looked at anew.

Here is a sampling of the inimitable Ted Neward, riffing on the Visual Basic struggling under the yoke of the Gods of Computer Science:

I don’t know what Visual Basic did to anger the Gods of Computer Science, but think about it for a second: they were a dynamic language that ran on a bytecode-based platform, used dynamic typing and late name-based binding by default, provided a “scripting glue” to existing applications (Office being the big one), focused primarily on productivity, and followed a component model from almost the first release. Then, after languishing for years as the skinny guy on the beach as the C++ developers kicked sand on their blanket, they get the static-typing and early-binding religion, just in time to be the skinny guy on the beach as the Ruby developers kick sand on their blanket.

Among others appearing on Day 2 was Tomas Petricek, developer lead for the Phalanger PHP language compiler for .NET. Petricek in the past has shown PHP working on Silverlight, and he is said to be moving toward a partial port of Phalanger PHP to the Dynamic Language Runtime (DLR).

Lang.NET shows Iron Python with Robotics Studio, JScript on DLR

Microsoft’s Lang.NET Symposium 2008 got up and running yesterday. C# father Anders Hejlsberg talked about C# 3.0 features, IronPython guru Hugunin discussed the Dynamic Language Runtime (DLR) and IronPython, and Pratap Lakshman from the JScript team talked about the new managed implementation of JScript, codenamed Managed JScript.

Hejlsberg, as reported by blogger extraordinaire Ted Neward, told the assembled language heads that the conventional divisions of language types (into categories) covering the functional, the object-oriented, and so on will break down in the years ahead.

IronPython high priest Jim Hugunin did a demo that mixed Microsoft Robotics Studio code with IronPython running on the DLR. Hugunin’s creation, IronPython, was recently updated as IronPython RC 1.1.1 on CodePlex.  Hugunin created Jython, a Java version of Python.

IronPython 1.0 was debuted in September 2006. The latest release candidate is described as a minor update focused on bug fixing. Hugunin’s team has fielded IronPython 2.0 Alpha 1, as well. This is the first release of IronPython built on the DLR, and targeting version 2.5 of Python.

For his part, Pratap Lakshman provided an overview of the managed Jscript implementation originally discussed at MIX07.  JavaScript on top of the DLR became a reality as part of Silverlight 2.0 (then known as Silverlight 1.1).

Surprise guests at the symposium were Java specialists John Rose and Charles Nutter, who discussed Java’s increasing support of new languages on the JVM.

Planned Day 2 discussions at Lang.NET 2008 include Eric Meijer on Volta, Paul Vick on Visual Basic and Karl Prosser ‘’Powershell Plus. ‘’

IronRuby and Ruby.NET, or A Tale of Two Rubies

A pretty simple question ('’How does IronRuby differ from Ruby.NET?̵ ;) turned into, naturally, a pretty complex chain of follow-up questions and then a series of conversations in the blogosphere. Ruby blogger Pat Eyler got the ball rolling, O’Reilly blogger  M. David Peterson picked it up, and Microsoft Ruby maven Jon Lam returned the serve.

The short version of how the two implementations differ is that Ruby.NET is built on top of CLR while IronRuby is built on top of the DLR, which is in turn an extension to the CLR. But that does leave open some room for controversy. The relative advantages of statically- and dynamically-languages come into play, as well as issues - often somewhat subjective - related to performance and interoperability. When the relative and the subjective meet, a good scrum may not be far behind.

As we were looking at these threads, word came from SapphireSteel’s Huw Collingbourne - no slouch as a Ruby blogger himself -  about a new Text Edition plug in for the developer looking to test out Ruby development within the Visual Studio suite. We asked Collingbourne for his take on the two Microsoft Rubies now brewing. There follow some excerpts.

Suffice to say that while Ruby .NET is currently in advance of IronRuby, we came to the decision to support IronRuby first and foremost… There are a number of reasons why we decided to get behind IronRuby - it’s partly to do with the technology (Microsoft’s DLR, Silverlight etc.) and partly just a sense that we feel John Lam and his team can push this forward in a way that will be more likely to attract the professional developer community. That said we could quite easily support Ruby .NET if we wished.

Incidentally, SapphireSteel’s most recent plug-in is interesting in another way. It is one of the early offerings hosted in the Visual Studio Shell. Collingbourne says Visual Studio Shell has finally given the Windows-oriented toolmaker a chance to compete aggressively with Eclipse-based IDEs.

Vick and Yuknewicz on VBX, meta programming and dynamic languages

VB team members Paul Vick and Paul Yuknewicz appeared on a Scott Hanselman podcast to talk about directions for Visual Basic. They talked about the popularity of the language, which still surpasses all others in Microsoft’s yearly developer survey.

Vick and Yuknewicz talked about VBX, the next rev, which should get going in earnest with the shipment of Visual Studio 2008. There has been much talk about VB returning to ‘dynamic roots’ in the version beyond that. Vick said he was talking with IronPython originator Jim Hugunin.

Hanselman probes for more on the dynamic side, as well as signs of what some call ‘meta programming.’

‘’If you look at some of the things we do in our language, ‘’ responds Paul Vick, pointing particularly at declarative event handling, ‘’really that is just like meta programming that we’ve built into the compiler.'’

‘’It would be great to open that up and let other people extend it and ship new libraries and do cool stuff like that,'’ he continued. So go to the podcast and prepare to do cool stuff!