C sharp and D flat. (VS) 2005 and (Delphi) 2006

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..)

This entry was posted in Chatter. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.lazarus.freepascal.org/ Shaun

    C# is a great language but .Net does not cut the mustard.

    I now program in C, C++ and Object Pascal using Lazarus and Free Pascal. The apps I create are of the highest standard (mission critical) and run on all the major platforms (Linux, Mac, and Windows).

    The GUI and business logic are all object pascal, that ties into pascal, C and C++ libraries.

    Try Lazarus/Free Pascal it,is free as in beer and speech.

    http://www.lazarus.freepascal.org/

  • Argus34

    Delphi is good and nice & quick.

  • me

    Delphi is still the most sophisticated

  • http://codebetter.com/blogs/peter.van.ooijen/ pvanooijen

    This comment is almost 2 years older than the original post. These days there’s a another (local) wave of Delphi enthousiam. But it passes me by, I think it’s just over. For more reasons than just the price.

  • Suresh

    Borland also released free version of Delphi,C++ C# named Turbo Delphi, Turbo C# , Turbo C++ Visit : http://www.turboexplorer.com

  • Malisa

    I’m one of the many programmers that have migrated from Delphi to C# because of lack of competetiveness of Borland and the pricing of their IDE tools.

    I never used to like Microsoft, but now i see that the future of software developement is in Microsoft products.

    I think Borland will have a difficult future in the IDE tools because, other companies like Microsoft have released a lot of free Express Editions of their tools and almost evey programmer prefers to just download and use.

    Object Pascal was one of my best languages, from version 6, i think.

    I expected better from Borland but unfortunately it seems the future is in Microsoft products.

  • Mike

    The only thing I never liked about Delphi was it’s pricing. -> This is the argument especially for everything beyond Professional. Not the price alone, what was included is the problem.

    Intersting discussion. Still wondering why lot’s of softwares core parts (database kernels, SAP Kernel,…..) are written in C/C++.

    Borland has been trying to do too many things at the same time. -> Denying one’s roots can be evil…remembering the Inprise experiment.

    In my opinion your thougths are interesting and right for some aspects of this “discussion”. The arguments remind me of funny syntax compaisons of C and Pascal in the DOS times:-). A tool and especially an IDE does not make a good programmer. So arguments for one IDE against another is the same like the old syntax discussions.

    Concerning .net -> we are here in the beginning and I’m very sure somewhere out there a guy sits around and codes the next class libriary that is more sophisticated than the .net class library but it is still a class library.

    In my opinion .net and C#combined are strong but only one step on a big walk that is does not care with which langauge, IDE or Web Technology things can be brought on the way.

    Mike

  • Mortis

    I have been a C/C++ programmer since the days of Turbo C and C++, In that time also I learned Pascal with Turbo Pascal. After the years I was excited about Delphi development but I didnt do much Object Pascal programming in that time and when C++builder came I bought my copy very excited. I liked Borland a lot. Right now like everybody I jumped to C# and let me tell you is a great tool and language cause is created by the same folk who created turbo pascal and delphi. I like it a lot.

    But about Delphi the problem my friends is Microsoft. With all their monopoly and Windows platform and now the .Net has been the problem for everybody like Borland and even Metrowekrs. Codewarrior for Windows development is over. And Borland lost many wise people from their company and went to work for the big Monopoly of Microsoft. Its almost impossible for Borland to make good products this days cause Microsoft doesnt share quite well. Microsoft say in this days they are more open than before and maybe but for Borland has been very difficult to catch with Microsoft strategies cause everybody on Windows world depends on Microsoft. In the old DOS days MS-DOS it was just an OS with basic functionality, no libs, no gui libs, nothing, so Borland could implement own great tools on it. With Microsoft Windows monopoly is almost impossible to work with, But Delphi and BCB did a great job to be with the best features much better than VC++ and VB could offer, But again Microsoft pushing ahead with all their Monopoly they dont give a chance to other ISV’s.(There are many cases Netscape anyone? hehe).

    Alternatives for Borland coud be :

    Linux is an Open OS, but the problem is so Open, on the desktop is a mess with tons of alternatives and no standards. So for the end users is difficult to use this OS so for Borland it was just a fail with kylix and to support tons of libs and stuff and little sales.

    Mac OS X based half on opensource half closedsource. Good OS for end users but market share 3%. Borland could implement delphi above cocoa. But Steve Jobs said if you want to build great universal binarys applications use xcode and drop metrowerks codewarrior similar strategies as Microsoft.

    So I will call this time the IT and Developers Crisis. We are in Crisis folks unless you use Microsoft Products exclusive or Apple in that case.

    Thanks.

  • http://ebersys.blogspot.com Eber Irigoyen

    I have been a Pascal/Delphi fan for a number of years, but after Delphi 8 I didn’t have much option, it just didn’t work and it was never fixed, they came up with another version (2005) which didn’t quite work completly, then there is another version now, which I hear very little about… who has the money to keep buying all those versions of Delphi?
    what company bougth Delphi 2005 after what happened to Delphi 8, very little (if any), I know the company I work for we used to have Delphi developers only (hundreds), now all we do is C# with Visual Studio and we are not going back to Delphi, so for all those Delphi developers in the same position, is not a matter of choice, there is no way that we can afford to buy Delphi, and we wouldn’t be using it at work anyway =o(

    Delphi was and still is the greatest IDE to create Win32 applications, but for .NET they made huge mistakes and I don’t know that they will be able to come back

  • http://www.doogal.co.uk Doogal

    For the last couple of years I’ve felt pretty negative about the future of Delphi, but I think things have been picking up recently, except for the departure of Danny Thorpe. It sounds like D2006 is actually pretty stable, which is a definite improvement over the last two releases. I blogged about this a while ago.

    http://doogalbellend.blogspot.com/2005/12/its-been-bit-of-rollercoaster-ride-for.html

  • Forogar

    perhaps that was the plan. borland does not have to have the embarrasment of dropping delphi – it just fades away.

  • http://davidhayden.com/blog/dave/ dhayden

    I always enjoyed working in Delphi prior to the .NET days and will always look back on those days with good memories. Object Pascal was my first introduction to OOP and, at the time, Delphi had a rich community of developers. I still have a few applications / utilities written in Delphi running today. Unfortunately, Borland dropped the ball with Delphi and its future is bleak.

    I agree that its pricing is way too high compared to what you get from an MSDN subscription. I never understood that. Borland has essentially priced Delphi out of the market.