November 12, 2008 oslo

Rocky on Oslo

Rockford Lhotka had this to say about Oslo:

The Oslo modeling tools are also interesting, though they are more future-looking. Realistically this idea of model-driven development will require a major shift in how our industry thinks about and approaches software development. Such a massive shift will take many years to occur, regardless of whether the technology is there to enable it. It is admirable that Microsoft is taking such a gamble - building a set of tools and technologies for something that might become acceptable to developers in the murky future. Their gamble will pay off if we collectively decide that the world of 3GL development really is at an end and that we need to move to higher levels of abstraction. Of course we could decide to stick with what has (and hasn’t) worked for 30+ years, in which case modeling tools will go the way of CASE.

But even if some of the really forward-looking modeling ideas never become palatable, many of the things Microsoft is doing to support modeling are immediately useful. Enhancements to Windows Workflow are a prime example, as is the M language. I’ve hard a hard time getting excited about WF, because it has felt like a graphical way to do FORTRAN. But some of the enhancements to WF directly address my primary concerns, and I can see myself getting much more interested in WF in the relatively near future. And the ability of the M language to define other languages (create DSLs), where I can create my own output generator to create whatever I need - now that is really, really cool!

Once I get done with my book and all my fall travel, you can bet I’ll be exploring the use of M to create a specialized language to simplify the creation of CSLA .NET business classes : )”

November 11, 2008 oslo

Designing a language is hard; implementing it shouldn’t be

Frans Bouma has an interesting point: Designing a language is hard, and M won’t change that. And he’s right.

For many domains, a DSL can make expressing what’s important easier so that the developers using the DSLs can communicate between themselves and to a computer with fewer lines of code, making it easier to read, check and maintain. Many (arguably most) domains live without a DSL, instead encoding design decisions into general purpose languages, adding unnecessary ceremony to the essence of what’s being decided, thereby obscuring it.

November 11, 2008 oslo

More Oslo Reactions: What “Oslo” is and is not

Lars Corneliussen (not the wonderful Lars that did a cameo at the Repository & Schemas PDC talk about 8 minutes in) did a nice overview of Oslo
November 11, 2008 oslo

Ted Neward Explores M

When I was an external to Microsoft, I used to see new Microsoft technologies and have several reactions: wonder, awe, lust, hate, confusion, apathy. Really, Microsoft was a harsh mistress that caused all kinds of reactions.

I’ve been heads down for 3.5 years working on Oslo, so seeing other peoples’ opinions from inside of Microsoft is very enlightening. Ted Neward has an Oslo opinion that I enjoyed reading, even if it wasn’t all positive. Thanks, Ted.

November 11, 2008 oslo

News: How modeling will change programming

Burley Kawasaki is a Microsoft marketing person, it’s true, but he also really understands the point of Oslo. Enjoy.
November 11, 2008 oslo

Three-Pane MGrammar Development in Intellipad

Roger Alsing has posted a discussion of how Intellipad’s support for MGrammar development makes writing DSLs easier but showing you what parsers and how as you update the input file and the grammar file itself.

Personally, I’m a huge fan of seeing something work as I type. Think of it as “holistic intellsense.” The SQL generation in Intellipad works the exact same way. I find it a huge help.

November 11, 2008 oslo

Another Oslo MGrammar Sample: WatiN

Torkel Ödegaard has done a very nice, detailed look at created a DSL in MGrammar for the WatiN browser automation library, including a look at the code he used to parse the Abstract Symbol Tree produced by MGrammar to do something useful.
November 11, 2008 oslo

Generating code from M

On the Oslo team, we think of three kinds of models:

  1. Drawings: This is modeling to communicate from human to human, e.g. on a white board or in Visio. An architecture diagram in a design document is an example of such a thing.
  2. Model-Assisted: This is modeling where we’re talking to a computer, most often to generate code, e.g. the .edmx file used by Visual Studio to generate C# data access code.
  3. Model-Driven: Here we’re also communicating from a human to a computer, but instead of doing it at development-time to generate code, the model is actually used at run-time to drive a run-time, e.g. a Workflow definition to drive the Workflow engine.

← Newer Entries Older Entries →