REDMOND, Wash.-Microsoft, which in October officially announced its intent to support model-driven development in a broad strategy known as ” Oslo,” is beginning work on a new declarative programming language, a supporting editing tool and other components of the initiative, according to sources close to the company.
Microsoft announced Oslo as part of an amorphous vision for simplifying application development, design, management and deployment. Company officials said Oslo will represent a core set of technology investments that will encompass both a services infrastructure-spanning server, client and the Internet “cloud”-and an executable modeling platform that will include a general-purpose modeling language, tools and repository.
However, the sources said that at the heart of the Oslo initiative lies a new declarative programming language currently known simply as “D.” If, as the code name implies, Oslo were a city, D would be the key to Oslo.
According to the sources, D is a new language under development at Microsoft aimed at building applications and components for the Oslo repository. However, D is but one piece of a much larger puzzle that will include graphical modeling tools and other components. D is expected to be a textual modeling language suitable for use by business professionals and domain experts.
Accenting D will be a new editing tool known as “Intellipad.” Intellipad will serve as a text editor for the D language and will further support the development of applications and other content for the Oslo repository.
Although Intellipad is targeted primarily for use with D, it will be capable of supporting other declarative languages, sources said. It is being designed to be both customizable and suitable for scripting. The technology also is known inside Microsoft as “Emacs.Net,” as homage to the Emacs text editor made popular in the Unix environment.
In a talk at the Lang. NET conference on the Microsoft campus here Jan. 30, Don Box, an architect in Microsoft’s Connected Systems Division, said that Microsoft engineers “care deeply about having natural ways to write things down in a text file that are not only natural to write, but more importantly, natural to read.”
The Connected Systems Division is working on D and Intellipad, sources said. However, other groups within Microsoft, including the Developer Division, are working on different components of the Oslo strategy.
When some Microsoft bloggers began referring to an Emacs.Net effort late last year and in the early days of 2008, Burley Kawasaki, director of product management in Microsoft’s Connected Systems Division, issued a statement on the issue.
“The recent reference to a possible ‘Emacs.net’ like environment is referring to some of the R&D efforts we’re exploring that would help enable model-driven development to enter mainstream use by the developer community,” Kawasaki said. “While it’s too soon to announce any specifics in terms of product offerings, this generally referred to some of the early thinking we’re doing around Oslo’s modeling platform currently in development at Microsoft, specifically focused on how developers will want to edit and create declarative models.”
Focus on the What
In his Lang. NET talk, Box emphasized the company’s need to focus more on declarative programming.
In declarative programming, the developer focuses on the “what” rather than the “how” of a process. A program is declarative if it describes what something is like, rather than how to create it. Better yet, in a typical procedural program, the developer writes instructions to tell the computer how to do certain tasks, while in declarative programs the developers instruct the computer specifically on what results result they seek.
Box said Microsoft has two primary goals with its modeling initiative: to enable developers to write less code and to better understand their software.
Microsoft Chairman Bill Gates has long been a proponent of modeling, publicly stating Microsoft’s intent to provide greater support for modeling as early as 2003. Box said that at a recent off-site meeting he attended with Microsoft senior managers Gates listed modeling among his top initiatives for the company going forward. When Box asked Gates which among the several initiatives was his favorite, Gates said modeling was most important because developers should have to write less code.
Box said the modeling approach Microsoft is working on has various elements. A key element is to increase the “data to code ratio” in the Microsoft platform. “This is not some 1980s CASE [Computer-Aided Software Engineering] play where we’re doing round-tripping between your UML [Unified Modeling Language]-although we’ll probably do some of that. But really what we’re talking about is making the platform just work this way so that the thing that’s on the hard disk and runs is more data than it is code.”
Microsoft is working to help users apply more data processing machinery to data, he said, particularly because most systems have capacity they do not use. He indicated that search and indexing technology could be used to prepare data for modeling scenarios.
Despite being presented with breakthroughs in declarative programming, Box said Gates’ first question on most every new declarative technology put before him is: “Can I write PowerPoint in it?”
Box said he wrote his Lang. NET presentation in Microsoft declarative technology including XAML (Extensible Application Markup Language) to give an indication of where the company is going toward applying ease of use into the company’s tooling.
“It would be great to have an XAML-based schema language with run-time support for it,” he said.
The Two-Beer Test
However, Microsoft’s current offerings don’t cut it for simplicity, Box said. “Right now it doesn’t pass my two-beer test,” he said. “I didn’t have two beers before the talk so I was able to do this. If I had had two beers, I would not have been able to write that XAML. Ultimately, we want things to pass that two-beer test.”
“Think Excel,” said Robert Wahbe, corporate vice president of Microsoft’s Connected Systems Division, in an interview with eWEEK following the October launch of Oslo at Microsoft’s SOA and Business Process conference. Wahbe said Microsoft’s new modeling tools will be as simple to use as using the company’s Excel spreadsheet.
Microsoft’s foray into modeling will be broad-based, and for some will represent an alternative to IBM’s Rational modeling technology, which many users have described as heavy and complex. Yet, Microsoft faces its own issues regarding complexity with its tooling.
Jon Rauschenberger, chief technology officer at Clarity Consulting, said he is encouraged by what he’s heard about Emacs.Net.
“I will say that in many ways Visual Studio has grown into a tool that’s far too large and complex for a wide range of development needs,” Rauschenberger said. “If I need to write a quick managed console app to solve a problem, it would be wonderful to have a lighter-weight alternative to the multi-gig footprint that Visual Studio has evolved into. I don’t know if that’s the direction they are heading in, but it is one that I and our customers would welcome.”
Microsoft’s Kawasaki said he views the broad-based Oslo strategy as a large investment for the company akin to the announcement of .Net years ago.