Tech-Ed: Don’t start new projects in Delphi or FoxPro

Yesterday I attended two sessions aimed at FoxPro and Delphi developers, on how and why they should migrate to .NET.

The FoxPro session drew sparse attendance, which did not surprise me. Fox developers do not attend Tech-Ed, as there is nothing here for them. Speaker Remi Caron made the point that FoxPro forms will never look quite right on Vista as the widgets are custom drawn, and the the FoxPro language is not as deeply object-oriented as C#. Many Fox application are utilitarian in nature, and Microsoft is doing and update codenamed Sedna, which focuses on .NET interop and Vista compatibility, so I am not sure that the arguments were fully persuasive. FoxPro applications will trundle on for a while yet. It is also interesting that C# 3.0 is only now getting integrated database query, which has been a feature of xBase from its earliest days. Still, FoxPro is undoubtedly coming to the end of its life as a product under active development.

The Delphi session was more interesting. Of course I make allowance for the fact that this is a Microsoft conference and that Delphi comes from a competitor in the tools space. Even so, it was a grim event from Borland’s perspective. Presenter Hadi Hariri is a Delphi person. He works for Atozed software, whose main product is a web application framework for Delphi. Also present was Chad Hower who worked on the Indy internet components for Delphi as well as Atozed’s Intraweb. Nobody could say that either speaker lacked Delphi knowledge. Around 25 delegates came to debate Delphi’s future.

Hariri and Hower did not advise developers to port their Delphi projects, unless there is really a compelling reason. However they did strongly advise against new projects in Delphi.* The main factor is integration with new .NET goodies such as those in .NET Framework 3.0, especially Windows Presentation Foundation and Windows Communication Foundation.

But surely you could use Delphi for .NET? Indeed, but there are two problems here. One is that according to Hariri the VCL.NET, Delphi’s backward-compatible .NET library, is failing to win significant adoption. He observes that hardly any of Atozed’s customers use Intraweb with VCL.NET, although it is fully supported. They all use either native Win32 VCL, or a few Kylix, the abandoned Linux port of Delphi. Other third-party vendors say the same thing: there is hardly any market for VCL.NET components.

Then surely you could use Delphi’s .NET compiler with Microsoft’s class libraries? Indeed, but will Borland or the new “DevCo” ever catch up with Microsoft? This week the .NET Framework 3.0 is fully released; yet Delphi 2006 only supports .NET 1.1. By the time Delphi appears with .NET 2.0 support, Microsoft will have updated Visual Studio with a designer for Windows Presentation Foundation and other .NET 3.0 features, which Delphi will likely lack for some time.

We used to laugh at vb applications. Unfortunately it is completely reversed now. We are always going to be behind now.

said Hariri. The session lends weight to recent calls for Borland to focus on Delphi capabilities in native code rather than .NET; yet that too is not ideal when so much of Microsoft’s development platform is focused on .NET.

Postscript

* Hower has commented below and also written at length to emphasise that from his perspective this only applies to .NET projects, not Win32.