The .NET Ecosystem is a Wonderful Place, Page 2
Why Not a Free IDE?
For all that Visual Studio .NET is a wonderful design environment, it has one major drawback for some developers: its price can be quite steep. That's why it's good to know about SharpDevelop, a free, open-source IDE for both C# and Visual Basic .NET projects.
"Free," is, of course, a major selling point here. But that wouldn't be worth much if it wasn't coupled with real features. Fortunately, SharpDevelop has matured to the point where it's useful for writing quite serious code. It includes both forms designers and code editors. The code editor supports advanced features like code completion, folding, and of course syntax coloring. It even goes beyond VS .NET in some areas - for instance, there is integrated conversion from VB .NET to C# and vice versa, as well as integrated NUnit support. And, of course, there's the rock-bottom guarantee of GPL-licensed open-source code: if you don't like the way something works, you can always reimplement it yourself (provided, of course, you can take the time to understand a C# project of this magnitude).
With the .NET Framework SDK itself and SharpDevelop both being free, there's very little barrier to getting involved in serious .NET development. While I'm sure Microsoft would love to sell more Visual Studio boxes, they certainly don't mind seeing lots of developers using the underlying platform no matter which IDE they choose. A superior free IDE helps us all by driving innovation and widening the developer pool.
The final nominee is the most ambitious. The Mono Project, which started clear back in 1991) is an ambitious undertaking. It aims to provide a complete open-source .NET implementation, starting with the ECMA standards for C# and the Common Language Infrastructure (which Microsoft wisely released in a bid for greater acceptance of .NET).
Mono is an amazing beast. In some areas it's already ahead of Microsoft's reelases: generics and other C# 2.0 features are already in shipping versions of Mono. Right now, with minimal effort, you can take many command-line or ASP.NET applications and rebuild them to run on Linux. They're also moving ahead on cross-platform forms technology for .NET applications.
Some people in the open source community have worried that Mono could be strangled at any time by Microsoft patent activity, but with Mono being under the wing of Novell, and with all of the development happening in a clean-room atmosphere, that looks to me to be unlikely. And the rapid development of the project indicates a broad base of support for the idea of ".NET everywhere." It's hard to see why a developer working in C# would be unhappy about having more platforms to sell code for.
The Envelope Please
Just over 40% of Developer.com's readers voted for The Mono Project in this category, giving it a strong plurality of the votes and the trophy. To me, this looks like a vote of faith in the future of C# and .NET as a development platform, not just in the Microsoft world, but in general. No doubt the open source nature of the project helped it win; open source advocates tend to be vocal about the software that they support. But having tried out the software myself, I can say that it would be impressive whether it was free or something that I had to pay for from a commercial vendor. On top of the obvious advantages of being able to build cross-platform software with C#, it's good to see a small and nimble team pressing Microsoft when it comes to adding features and capabilities to the platform.
Trends and Thoughts
This year's nominees bring out three important trends in .NET development (or, indeed, in development in general). First, effort invested in building a solid, extensible IDE clearly pays off if you want to ship a major new software platform. Three of the products in this year's list took advantage of Visual Studio .NET's extensibility features to integrate themselves into the developer's daily experience, and they're among the hundreds of products out there to do so. Second, code generation is here to stay. While some developers still distrust code they don't write by hand (do they verify the generated assembler, I wonder?), most of us are quite willing to leverage good tools that let us work at a higher level of abstraction. Lastly, for all the complaining in some quarters that it's destroying the industry, open source continues to produce some extremely impressive software. Watch for these trends to continue as we move forward in the tools market for another year.
Mike Gunderloy is the author of over 20 books and numerous articles on development topics, and the lead developer for Larkware. Check out his latest books, Coder to Developer and Developer to Designer, both from Sybex. When he's not writing code, Mike putters in the garden on his farm in eastern Washington state.