Is the Future in .Net?

Some days when you read the tech news, all you hear about is .Net. It makes you wonder whether the future of everything is in .Net. And it’s not just from Microsoft; it comes from all directions, including Novell’s recently purchased Ximian Inc., project owners of Mono, the open-source GNU .Net release.

It makes me uncomfortable knowing Microsoft has full control over this technology. They control the licenses under which open-source projects like Mono can exist. If they pull-back, would that kill Mono and .Net on every other platform apart from those which Microsoft supports (i.e., Windows)? Novell/Ximian doesn’t seem to worried.

Personally, I have a Java bias. I like Java most because it’s multi-platform. This is huge. I’m a big multi-platform user. My primary workstation is Linux, but I still have some Windows boxes kicking around. And let’s face it, anyone that hasn’t locked them selves in a GNU/GPL cage has to use Windows sometimes. And Java applications can be run on any of these systems with ease. I love the language, it’s strictness and syntax. It’s really quite beautiful. But the virtual machine is somewhat slow. And Swing is not the nicest of GUI’s out there. When I’m working on Linux, I want something native, preferably something that uses the KDE/Qt framework to integrate nicely with my KDE desktop. And on Windows, I want a native Win32 UI.

Java just doesn’t cut it for large GUI applications. How many large-scale Java applications can you think of that are widely adopted? Apart from development tools like Eclipse, the biggest I can think of for the end-user is OpenOffice.org. And this is an excellent example of a large, slow Java app. It crawls compared to native Office suites like Microsoft Office or KOffice. Don’t get me wrong, though — I use OO.org all the time and I’m very thankful for having such a full-featured open-source multi-platform office suite. But it’s still slow. And it doesn’t “fit in” with the rest of my native, platform-specific software.

In comes .Net and C# — Microsoft’s answer to the Java threat. This language is very similar to Java. A little less strict, maybe not quite as reflective, but it’s close enough that a Java programmer wouldn’t have to spend much time learning new syntax to successfully write C#.

Say goodbye to annoying old-school Windows development using MFC and the like. Say hello to object-oriented development for all your Windows needs, including GUI with Windows.Forms. It’s about time.

Not only is there C#, but Visual C++ .Net, Visual Basic .Net, J#, and third-party things like Delphi for .Net, and even FORTRAN for .Net. I guess it only makes sense that there would be a surge of development environments and languages that compile into CLI. Today I’m evaluating #Develop, an open-source IDE for C#/VB.Net for Windows. It’s very light-weight but not quite as nicely refined (not surprisingly) as Visual Studio .Net 2003.

Despite my Java preference, I have to say that for once I’m almost impressed by Microsoft’s work. At least, what they’ve done with the framework. Mono is starting to look more promising, and I’m even considering tinkering with it at home on Linux (despite having to deal with GTK rather than Qt). Apparently Windows.Forms for Mono is in the works. This is good news. Essentially the same piece of code will run natively on both Windows and any other Mono-supported platform. This is excellent. It’s like native Java, if that were possible.

So is the future of development in .Net? It sure is starting to look like it. .Net is invading everything and every platform. The only places that Java still seems to hold firm ground (and perhaps any serious ground at all) is in J2ME (mobile clients, such as PDAs and cell phones) and J2EE (server-side web services and the like). But even J2EE is threatened by .Net’s Web Services.

I guess I had better get my feet wet with .Net. Luckily I’m working on a (Windows) C# project at work. I’m using both #Develop and Visual Studio .Net 2003 on my workstation. We shall see how this goes.

Leave a Comment

You must be logged in to post a comment.