This is a serious question: why should developers switch to using .NET? There are two things to consider here: existing and new applications.

First, existing applications: what gains are there to be had from converting your codebase? What can a .NET version of your product do above what is already being done? Very little I’d wager. In theory, upgrading will provide all the benefits of .NET but, in practice, this is extremely unlikely if history is any guide.

Although it may not be so obvious at the moment, .NET will provide a far richer development environment than Win32. Signs of this are already showing: LINQ taking generics to the next level, richer graphic experience as shown in the PDC keynote etc. So you decide that upgrading is worth it to stay cutting edge to make use of the latest developments, but will you be able to make FULL use of them? Some (many?) .NET enhancements require facilities just not available to Win32.

I well remember a similar period in the DOS to Win32 conversion. Anyone still use WordPerfect? A classic example of trying to fit a DOS application into a Win32 world. It looks obvious now that it was doomed to failure. It didn’t look obvious then, no more than trying to fit the square Win32 into the round .NET looks now!

New applications are a different story. I see no point in writing new Win32 applications when .NET is the future. I go further: you need to write in a language specifically designed for .NET, not a hybrid providing upward compatibility with Win32. This is where Borland, IMO, have made a huge mistake with Delphi. Providing an upward path from Win32 is a short term solution to a long term non-issue.

Seeing this gap in the market is what caused us to create Chrome. It is already obvious that Chrome sprints while Delphi for .NET walks! One of Delphi’s biggest advantages over the years has been the VCL but that has turned into a heavy anchor! Conversion of the library to handle all the new .NET paradigms will inevitably cost many man hours and for what? It was the market leader a few years ago but the tools and components in Visual Studio have caught up (at least) and have the advantage of being multi-language.

In conclusion, I would recommend leaving existing applications where they are and, if the new facilities make the case, rewrite in a .NET language. For new applications, it is simple: write in a .NET language and if you like Pascal, use Chrome!

Note: for a detailed discussion on the benefits and reasons for using Chrome see http://www.chromesville.com?ch04