There have been many posts following the release of the Delphi Roadmap (see the original slide here) and my post about the Delphi Passion... and although I don't want to start a debate I really want to tell you why I disagree with some of the posters, even though I can understand their point of view. For example, see this post by Eric.
If you think that there is nothing ouside of .NET, that 1.1 is so bad that migrating to 2.0 today is a must, that Microsoft is devoted to developers...than go ahead and switch to VS. But I don't buy it, sorry.
It is certainly true that MS has infinite more R&D resources than Borland. But this was true also when Borland did Delphi 1, when it did Turbo Pascal 1.0, when it made Sidekick or Quattro... This was true of Google, when it started. Consider, that not all MS R&D resource are oriented to developers and that .NET has a clear agenda: make users upgrade their OS version. Consider also that MS spends a fraction of the revenues on R&D, contrary to Borland!
I also question the need to be on the verge of technology. With most client/server development still on Win32 (and VB6, not Delphi!) I don't see the need to embrace the latest MS technology the same day it is released. Delphi 2 was almost a year behind Windows 95, which introduced Win32 to the masses. So what? Delphi developer were able to migrate Win16 to Win32 project faster than many others. Delphi COM support was so late (but so great). Delphi for .NET has been very late, was not an issue for me and most of the developes I know. .NET 2.0 support will come faster than those, and will come as the framework becomes solid and widespread (which is still not true for 1.0 and/or 1.1).
Another element I want to underline is that even though the release version of Delphi 2005 was very shaky, the product is now fully usable. I use it for Win32 / .NET / CF (thanks to Jeremy North) / Kylix (with CrossKylix or directly) development. It crashed once over the last couple of weeks (plus 2 times as I was working with Win32 class helpers at EKON!). I do have all patches, disabled the heavy stuff, and so on. But although there are issues with the OTA and in other areas saying the product is unusable is absolutely not true, at least for my experience.
So why use Delphi if you want crossplatform? You have Kylix still working OK for server side developent (this blog runs on Kylix) and Mono available if you pick .NET. I fully agree that an updated Kylix compiler will be a great thing. I don't see how VS or C# can be better!
Why use Delphi in general? It provides more options and more flexibility than the current MS offering. For example, you have ECO, better support for non-MS databases (you know, there are some out there), both VCL and WinForms, ASP.NET and also other Web technologies: you indeed have more options! The other obvious reason is Win32 support. It is and will be relevant for some years ahead. Killing it because you have a OS agenda is not the developer's and user's best interest, IMHO.
Finally, I totally disagree with the claim that the Delphi language has been "decimated" or "hacked" for .NET compatibility. On the contrary, Borland has done an excellent and unparalled job in adopting the new paradigm while maintaining a clean and highly compatible language. I don't see anyone else offering the same.
My impression is that Delphi is not the trenches, is not "years behind", provides some distinctive advantages over the competition, is even leading in .NET on some language features (virtual constructors, to single out one I really like and would miss in C#), and is more open to developer's needs. Having said this... I'm ducking in my trench, ready for a flow of bullets, ahem, critical posts...