PDC 2008: Don Box stars as 'M,' the minister of sensibility

During another overflowing demonstration here at PDC, long-time Microsoft developers Don Box and David Langworthy (two of the most popular presenters every year) introduced developers to M, the new modeling language for data.

The term modeling is being introduced here in more than one context, and for the realm of enterprise application developers, it refers to the ability to produce a workable schema that may or may not be populated with explicitly typed data. The need for more direct modeling has been known for long enough, though perhaps not understood; it hasn't occurred to people that the task could be approached through the use of another language.

"XML is great for transmitting data and exchanging data," Box told one questioner toward the end of his talk, "but once I try to run a query against it, I run against some walls."

Using M -- the language used by the modeling platform "Oslo" -- a developer explicitly models the structure of a database. M is not an object-oriented language -- a fact that, in and of itself, almost made Box giddy with glee. But it's a more appealing system for defining type and structure for veteran programmers who prefer C++ or C# to XML. And it's an alternative to, or perhaps a complement to, other tools that use more diagrammatic methods for structuring data.

"I don't see text replacing diagrams," Box said. "I see both existing until the end of mankind."

During the talk, Langworthy demonstrated (or, more accurately, tried to demonstrate...he ran into a few hitches) how a simple data modeling process works. He created a test module that represented People. Into that module he added extents which define the boundaries and types of the data.

What's the point? The M compiler generates a binary image of the database, in a very small file size. In so doing, M generates the SQL code that produces the actual tables and type definitions for the database, often consuming what appeared to be six or seven times more lines of T-SQL code. M thus becomes a way to textually, not diagrammatically, produce a live database that's more abstract than T-SQL, and more approachable than XML, for purposes that XML does not adequately serve.

BETA CAPSULE
M

What It Is

The data modeling language used in Oslo, Microsoft's new system for modeling the structure of databases used in enterprise-level applications.

How It Works

Programmers create what are called modules which represent schemas in a database. Modules are not objects, and M is not object-oriented; in fact, as Don Box described, any data that ends up having the same structure as a defined module is treated in the same application as belonging to the database -- in other words, if it walks like a duck and talks like a duck, etc.

Extents add constraints and limits to data, defining its type (text, integer, floating-point) and conceivably including its contents. These are the values and constraints that are principal elements of M. Then a developer may generate views, which from the perspective of the M compiler are actually functions, and from the perspective of the T-SQL the compiler may generate are actually queries. Running those functions by name triggers the SQL transactions in the query.

What It Means

M and Oslo represent a return by Microsoft to the fundamentals of programming, but rather than conceiving some new annual data access model (something Box indicated he was tired of rolling out at PDC every year since the dawn of time), M presents a fundamental way of building databases in a way that can be more readily accessed by something far simpler than the data access models Microsoft has already concocted.

One Response to PDC 2008: Don Box stars as 'M,' the minister of sensibility

© 1998-2025 BetaNews, Inc. All Rights Reserved. Privacy Policy - Cookie Policy.