Better Windows Development Environments - One project at a Time

by Mark Stone on April 10, 2009 09:45am

Discussions of the PC market usually break down into "desktop" vs. "server", as if these are the only platform categories. However, the developer's dev box -- call it a "workstation" to distinguish it from desktop -- is really a separate platform. Remember, when Linus Torvalds created Linux it wasn't because he needed a better
desktop operating system, or a better server operating system. What he wanted was something that could run the gcc compiler. He wanted a developer workstation he could use at home.

Of course the developer workstation market influences other markets. Developers who develop on a platform are more likely to develop for a platform. So winning developer mind share is often about giving them what they want in the way of development environment. And in this regard, open source developers are something of a
different breed.

Microsoft has a great set of developer tools; I've certainly known developers who swear by Visual Studio. But there's something of a disconnect between graphical tools favored by Windows developers and then command line tools favored by traditional open source developers; I've also known developers whose first order of business
with a new Windows workstation is to GNU-ify it.

Ironically, the Internet has a convergence effect, drawing these two camps together. Put developers online, and they can collaborate. Put developers online, and they can not only develop, but they can build, deploy, and test. The workstation has become not so much a computer as an environment. The developer's toolkit  includes version control, build management, automated testing, and the need to do all these things as a team rather than an individual. Developer environments have evolved rapidly to adapt to these changes.

The Apache Software Foundation (ASF) seems to understand this evolution as well as anyone, and a number of ASF projects focus specifically on tools for the developer environment (Ant, Buildr, Continuum, Gump, and Maven come to mind as a few examples).

What's interesting is to see the .NET developers following suit, and wanting these same sorts of tools for their development environment. What's surprising is that this .NET effort is very grass roots driven.

"Panday" is a Filipino word meaning "blacksmith", and can also be a reference to the graphic novel super hero of the same name (the graphic novel is also originates from the Philippines). This provides an appropriate metaphor for the name of the NPanday project on Codeplex.

The NPanday project is one of several affiliated with Microsoft's Open Source Lab in the Philippines, and is part of the effort to bring to .NET some of the capabilities found in other open source development environments. The aim of NPanday is integrate Apache Maven into the .NET development environment.This would enable .NET
developers to take advantage of Maven-compatible development infrastructure.

Projects like NPanday are important because they offer developers more choice of tools in a Windows development environment. The more familiar those tools are to open source developers, the more open source development will be done on and for Windows. NPanday is also an important project for interoperability, making it easier to integrate .NET development with other development done using Maven.