Tuesday 31 July 2007

Delphi/Pascal Through the Ages

(I apologise that this is a long post. if you are in a hurry, then please at least read the last 3 paragraphs)

Delphi started out life as Turbo Pascal on CP/M. For those of you old enough to remember, CP/M was prior to MS-DOS, which in turn was prior to Windows. While getting to grips with Pascal MT+, I saw an add for a new compiler called Turbo Pascal in the very early 1980's and I bought myself a copy.

From this simple, small and very fast compiler I wrote a small business accounting program that I sold on the Amstrad Computer. I used some code I found in another Borland addition called 'Database Toolbox' to add file and indexing routines.

It was about mid 1980's that my accounting program The Trader Series had a serious following in New Zealand amongst Amstrad computer users and I decided to devote all my time porting it to MS-DOS, I gave up my job as Marketing Manager for Panasonic Computers in New Zealand to become a programmer. Coding in Turbo Pascal was fun. There were several enhancements since that first version 1 that I purchased, these included such powerful things as Overlays. We were restricted to 640 Kilobytes of memory so using overlays I could now write much larger programs.

There were also a lot of third party programs and additions around, including a simple debugger which helped me a great deal. "The Trader Series", the accounting program I wrote, expanded to five separate modules and over half a million lines of code. Having much greater access to memory, I totally rewrote the screen handling so that all screens were built in memory and "shifted" to the screen, making it seem lightening fast for the user. I also abandoned Turbo Toolbox and rewrote the indexing system with a doubly linked, self-balancing B++ tree. These enhancements, along with using linked lists for transactions made it the fastest accounting program on the market at the time.

I remember running a demo for the company I selected to distribute the program (I decided that I can't be both a programmer and salesman/marketing person). Their high end product took as much as 30 to 40 hours to run an end of month process. I had built up a database of 30,000 debtors, each with about a dozen transactions. After the demo they asked me to perform an end of month and turning to leave, asked when I would be back in to see the result. I told them it had been done. I spent all afternoon proving that it could run an end of month process in less than a minute. That program won the New Zealand Computer Software Awards in 1987 and became New Zealand's largest selling small business accounting program for the next 10 years.

Turbo Pascal was a great language. Object Pascal raised its head in version 4.0 and I stayed with Turbo Pascal until I sold The Trader Series in 1990.

By now Windows was getting a grip and I needed to move into this arena. Borland's Pascal for Windows just didn't do it for me. I went with a number of other languages including FoxPro, C++, Visual Basic, and I even tried a new language called Java (it'll never amount to anything but hype, or so I thought - Sigh, I have been proven wrong before).

Borland then introduced Delphi and I managed to get myself a pre-release copy. Finally a great environment. Something that equaled the environment of Turbo Pascal when it was first introduced. Delphi however had a much larger price tag, but I purchased anyway and was thrilled with the power that even this first release had. Delphi was written in Object Pascal and the source code was included. You could learn lot with that source code and programmers were able to write their own components. The Component market was created with many outstanding components pretty soon there were thousands to choose from.

Delphi, the new Turbo Pascal, was alive and kicking again. I was a contractor through the 1990's and contracted to many different companies and corporations and was able to persuade more than a few to look at Delphi for their future needs (where appropriate).

While Delphi was indeed an excellent development environment, I was more and more disappointed in its growing price tag. By 2003, Borland had priced itself completely out of the market. The price for Delphi was now about the same price as a good second hand car in New Zealand and more than almost all other development environments.

I could no longer afford my favourite development language and companies everywhere in New Zealand were coming to the same conclusion. Sadly, I was shifting to Microsoft and C#. I still had, and still use, Delphi 7, but the call to C# was strong as the companies left Borland, and as Borland lost interest in Delphi. I could not find work as a Delphi contractor any more.

Earlier this year, I was invited along to the Delphi 2007 pre-release roadshow. There I learned that Borland had shifted Delphi into a separate company and concentrated on its team tools. CodeGear had been created to take over Delphi as its flagship product. Personally I thought it should have been the other way around, but that's the way it is. The price of Delphi was dropped by several thousand from what it was in 2003, and it had been given several enhancements since I last saw it in Delphi 7.

I saw this as a resurrection of Delphi and a possible push to get Delphi back to its space as one of the top programming environments. They have a long way to go to get back the loyalty that they once had. Companies had dropped them and now few companies will look at Delphi again.
However, in my intervening years with other development environments I have learned a few things: A team of 3 dedicated Delphi developers can totally outperform a team of 40 developers in Java and other Microsoft languages for a similarly large corporate application - by a factor of several months. I have also learned that, although Delphi can do .NET, Win32 can often deliver to the customer a far superior product, much more aligned with the customer's needs, in a much reduced timeframe/cost. And I learned that even a single developer armed with some excellent Delphi tools, can take on the giants.

CodeGear, your work now is not with enhancing Delphi (other than in the helpscreens), its marketing that will win the lost corporates and large companies back. You won't win them all, the "We're a Microsoft Shop" syndrome is too well entrenched for that. But you can win over a lot and make your headway in the world again, and give back the power to the average programmer.

I must admit, it's nice to be able to get back to programming without fighting the tool every single step of the way.

9 comments:

  1. AnonymousJuly 31, 2007

    TP 1.00A on CP/M... those were the good old days... The sample spreadsheet program amazed me a lot at that time!

    CodeGear should really reduce the sky high price for Delphi/RAD Studio. Here (an university) I could get VS 2005 almost free with the costs of the CDs and could install it for an unlimited number of machines/users. BDS 2006? costed me 28 x the cost of VS for an UPGRADE from Delphi 7 for a single user!

    ReplyDelete
  2. CodeGear still has Turbo Pascal for next to nothing. I'm not sure of the student price, its probably even cheaper. You will have similar restrictions, although you are correct in (reading between the lines), you are suggesting that CodeGear get Delphi 2007 back into the universities and technical colleges.

    Steve

    ReplyDelete
  3. AnonymousJuly 31, 2007

    Actually, Turbo Pascal started its life as Blue Label Pascal, later Compas Pascal, and finally Poly Pascal before being bought by Borland and renamed Turbo Pascal.

    ReplyDelete
  4. I started where you did, with CP/M. As a matter of fact, I was using the CP/M version with multi-user TurboDOS, an eight-bit (later 16) operating system for the S100 bus.

    Unbeliveably (for me) our company just bought six Delphi 2007 licenses from Codegear. I feared it would never happen, as we had not bought Delphi since version 6. We have a good core of Delphi developers here.

    I thought Codegear was going to do "the right thing" with the Turbo series, but now they act embarassed by that. Remember their promise of having CDs on magazine covers, new marketing, etc, etc? Never happened.

    I couldn't even get Codegear to help our user group with a mailing to registered users in our area (Indianapolis). Sure, they said "Yes" they would do it, but when the time came I couldn't even get them to reply to phone messages or emails.

    I wish the very best for the Delphi product. I love it. Always have. But the management behind the box seems - still - woefully inadequate to the job.

    Frank Borland in Indy

    ReplyDelete
  5. interesting post... I started with UCSD-Pascal a long time ago and your blog rememebered me of some experience in the 25 years of developing .. thanks!

    ReplyDelete
  6. Since I'm a Delphi Fan, I read your article with great interest. I'm still using Delphi 5 and found it very much stable in my systems I build and develop compared to other languages. Bravo Delphi!

    ReplyDelete
  7. my first programming language is turbopascal. It is a powerfull language and easy to learn. At this time I was still using Delphi 7. unfortunately the latest Delphi prices quite expensive. viva Borland

    ReplyDelete
  8. just a question, as im trying to learn pascal just as a hobby, have you guys tried out freepascal , lazarus and if so how would you compare it to experiences with delphi

    ReplyDelete
  9. I saw this as a resurrection of Delphi and a possible push to get Delphi back to its space as one of the top programming environments.

    ReplyDelete

Note: only a member of this blog may post a comment.