The .net framework and the C# language are very much indebted to Delphi. Both bear the mark of their common maker Anders Hejlsberg.
I have a long history with Delphi. In the first days of the PC Turbo Pascal was the thing which brought real programming to the PC. It was a true and fast compiler for a powerful programming language in an integrated editor/build/debug environment. In the 32-bits Windows world Delphi was a best of breed. It offered a full OOP language with a good class library containing database support integrated in its core with a good project-, form- and code- editor. In the Delphi 5/.NET beta days I was working with COM in Delphi and one of my targets was (COM interop in) .NET. Soon I was fascinated by the new world of .NET with those xml-datasets and web-services. The first incarnations of the web service client in Delphi 6 could not work with the complex types returned by asp.net web services. I wrote a component to get that to work. The continuous feedback I receive on that is an indicator on work being done on .NET – Delphi interaction. The last few months the amount has increased; apparently the interest in .NET has risen amongst the Delphinians.
Having seen .NET 1.0 I stayed with Visual Studio; which made me an early Delphi defector. In those days most Delphi people considered C#/.NET a (bad) copy of Object Pascal/VCL framework. C sharp as a synonym for D(elphi) flat. Which, amongst less amusing ones, resulted in musical discussions. Is the pitch of C# the same as Dflat ? On a piano it is; but on an instrument with “real” pitch, like a violin, it is not. Was VS 2002 a better tool to build (Windows) applications than Delphi ? It is the same Win32 api they are targeting. At the time there were more components for Delphi than for VS. These days are quite different. The success of .NET cannot be denied and also Delphi has adopted .NET. But recently I bumped into a blog titled Dflat. Which has a very nice story on what’s wrong with C, was more or less Ok in Delphi and works like it should in C#.
So Delphi has a rich history and could have a great future. The a new version is quite optimistically called Delphi 2006 and does support .NET. Alas it is the 1.1 version of the framework. No asp.net 2.0 and no generics. Borland (the company owning Delphi (at this moment)) is working on support for the latter in the Delphi compiler. I know just about enough about compilers to understand this is a difficult job. The Delphi compiler is fast, very fast. It is fast because it compiles your source code in one pass. Just like Turbo Pascal. This requires some fiddling with forward declarations when types have a mutual dependency. The .NET languages C# and VB.NET compile in several passes; it’s ok to use a type which is declared later on in your source. Thinking about the internals of generics and partial classes makes my head spin; starting to think how to solve all that in one pass makes me totally dizzy. There is a lot to do but the resources get fewer and fewer. Recently chief compiler builder Danny Thorpe has left the company (to join Google).
Why am I ranting ? I still work with Delphi (5&6) quite often. I have a loads of memories on Delphi. Good and bad. I was always interested in the new developments. But now I think it is over. Borland has been trying to do too many things at the same time. A new language, a new IDE (whose first incarnations were just bad), new enterprise tools, a new database library, new web libraries, backward compatibility and newest technologies . But you just cannot beat Visual Studio, team system, ado.net, asp.net, VS – conversion wizards and C# 2.0 with a (compared to ms) small company. I think they should have followed the path which Chrome took. Chrome is an Object Pascal (with extensions) compiler which uses VS as IDE. Just doing what it is good at.
The only thing I never liked about Delphi was it’s pricing. An MSDN universal subscription is cheaper than a Delphi enterprise license. With at least one major Delphi version a year I’m far cheaper of with VS. These days my mailbox is flooded with (cheaper and cheaper) offers to buy Delphi 2006. But looking forward to 2006 my best (educated) guess is with VS 2005, and not Delphi 2006. Not even a a trial. Sorry, it’s over. It hurts me too…. (please don’t flame me..)