September 21, 2005

Microsoft driving toward .Net unity

Microsoft's new tools are finally beginning to fulfill the promise of a unified development environment

Specialized programming languages and their supporting environments have always been tightly coupled: SQL and the database; business rules and the rules engine. It's tempting to wish for an überlanguage or one syntax to rule them all, but what really matters is a common environment. At its 2005 Professional Developers Conference, Microsoft showed that it's finally putting all of its eggs into the .Net basket.

We create specialized languages for a very good reason: to map the domains in which they operate to the mental models of programmers working in those domains. Because every real software system involves many such domains -- for example, system administration, data management, business logic -- developers have to wear different hats and speak different syntaxes. But there's a larger issue. Our specialized languages live in different environments that don't cooperate.

To solve this problem, we typically create "wormholes" to connect one language environment to another. Embedding SQL statements in other languages is the classic case, but there are many others. Perl scripts, for example, embed shell scripts, and vice versa. And JavaScript code embeds XSLT transforms, which may in turn use extensions to reach out to the operating system. In all such cases, the embedded code is a proxy to another environment that offers something unavailable in the host environment. But it is also a second-class citizen in that host environment.

Unifying environments is a greater challenge than unifying languages, yet Microsoft is making headway. Consider the three domains I mentioned above: systems, data, and business rules. Each is being brought into the .Net environment in a way that will enable powerful synergy.

In the realm of system administration, I've written before about Monad, the new shell that passes objects, rather than ASCII text, through a pipeline. Two major new initiatives in the realms of data and business rules were announced at the PDC. LINQ (language-integrated query), the brainchild of Turbo Pascal and C# inventor Anders Hejlsberg, aims to make data management a first-class citizen of the .Net environment. The Windows Workflow Foundation aims to do likewise for workflow, but that's a longer story for another column.

What matters here isn't the ability to operate in these domains using the same programming language; it's not having to jump through wormholes. Using LINQ, for example, a program can query the operating system for the names of running processes and can then join those names to historical data fetched from a database.

A traditional program would get the process list via shell commands and parse the returned text. Monad, which receives self-describing objects from Windows system services, can work more intelligently than that, and LINQ ups the ante even more. It receives the same set of objects from the OS and similar ones from the database. As it operates on the merged collection, it can natively blend SQL-like data management with other activities, including system administration and workflow.

LINQ is an extraordinary innovation that turns traditional query inside out. But the bigger story from PDC 2005 is that the .Net vision of unifying many balkanized disciplines within the Microsoft ecosystem is finally becoming a reality.

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.