Borland: Adapt Or Perish

October 8, 2006

I cut my development teeth with cutting edge technology like DBASE III+ (10 points to anyone that can remember what pack does!). I then moved on to even more cutting edge technology called Access 2.

Inevitably I found myself in Visual Basic 6. Which was pretty fine until a succession of rough experience on two projects had me looking for the nearest tree to string myself.

VB 6 New Project

It is very difficult to explain to a CEO why the application runs on machine 1 but not on machine2, despite the fact that they had the same operating system. It was even more difficult to explain why it runs on machine 3 and machine 4 but machine 3 refuses to generate crystal reports while machine 4 does it perfectly.

The project was a disaster. Wrestling with DLL registration and un-registration. Looking for components to do pretty straightforward things.

VB 6’s Rich Component Palette

Yes, a change was necessary.

As it happened I ran into a friend that weekend waxing lyrically about Borland Delphi.

I was ready to try anything. So I sourced a copy and installed it.

And was blow away.

Borland had indeed built a better mouse trap.

Pros

  1. Blisteringly fast
  2. Came with extremely rich collection of component
  3. Built in reporting tool
  4. Compiled to EXE … no dependency headaches
  5. Object oriented
  6. Powerful language
  7. Flexible VCL Framework

Cons

  1. That begin … end thing is an acquired taste

It was a no brainier

And then enter Microsoft and .NET.

But first a little history.

Borland as a company has had a tumultuous history. On one hand they revolutionized the development industry with its Turbo Products — Turbo Pascal and Turbo Prolog. Cheap, functional development tools targeted at the masses.

On the other hand Borland have never struck observers as having a coherent and consistent strategy. Think of the excellent products they developed, got the masses hooked on and then unceremoniously dumped. Like Sidekick

Think of the moodswings that have made, at one point or another, Borland switch between being

  • A development tools company
  • A productivity software company (Borland Office, Anyone?)
  • A development tools company for the masses
  • A development tools company for the enterprise
  • An application lifecycle management company

Think of the musical chairs that have been played at the helm since the exit of Philippe Kahn.

Think even further of the mind numbing decision to dump a respectable brand and rename themselves to Inprise

And then in one fell swoop Microsoft poached the cream of the crop from the Borland Stable, including with Anders Heljsberg.

Anders Heljsberg ultimately became the architect behind .NET and C#. One wonders where Borland would be if he’d stayed.

But despite their management problems their products were generally solid. The VCL architecture in partcicular has always struck me as being brilliant. They’ve managed to build a very good abstraction layer, that frees developers to conentrate on the task at hand rather than the nuts and bolts. Delphi and C++ Builder users who have moved to .NET will immediately grasp the DataSet and data binding heritage, as well as many of the concepts behind the IDE.

VCL is an excellent example of forward thinking — the fact that the Delphi compiler team were able to bolt the .NET framework on top is testament to this.

Unfortunately good technology without strategy simply will not cut it today. Borland have never really aggressively pushed their products like Microsoft have. In today’s environment it is not what you have — it’s how you push it.

Borland’s core products are getting  a run for their money from the competition. Delhi is being blown out of the water by Visual Studio. JBuilder is facing grim odds against Eclipse. Interbase is now just another database in the crowded marketplace with arguably more capable and cheaper alternatives like SQL Express, Oracle Express, Firebird, MySQL.

Which (finally!) brings me to the point I am trying to make. Delphi is arguably the crown jewel in the Borland stable.

Delphi is undeniably THE RAD tool of choice for for native Win32 development. It is feature rich, powerful and easy to use.

Since Delphi 7 Borland has shipped 4 releases — Delphi 2005, Delhi 2006 and Turbo Explorer for Delphi.

Delphi 8 came with Delphi 7 in the box. Delphi 2005 on the other hand was APPALING. Big, buggy, and unstable. Snatching defeat from the jaws of victory. Creating a huge mass of unhappy loyal Delphi users.

Things have not been helped by the uncertainly caused by Borland spinning off its development tools of a soon-to-be named company. Things in this regard are still unclear.

Borland Developers Studio BDS 2006 is a much better effort, with nice features influenced by Visual Studio 2005 (The TFlowPanel and the TGridPanel and the placement guides in particular come to mind).

Analysing the numbers of sales must have led Borland to the conclusion that people were just not upgrading.

Last week Nick Hodges, the Delphi product manager had a post on his blog asking “Why Aren’t you upgrading”.

Let’s just say the responses came thick and fast. Last time I checked there were 140 or so responses. Almost all mentioned “quality”. And bafflingly when I checked next Nick had taken down the comments.

Then he put up a new post in which he gave 14 Reasons why you should upgrade. Bafflingly, at #1 was Quality. As the responses show people may agree with points 2 through 14, quality was hotly disputed.

Granted, strides have been made but BDS cannot claim to be a quality release.

But even that can be resolved. The question is, would it help?

When it comes to choosing tools of trade, I believe in being pragmatic. Decide what needs to be done and then choose the best hammer for the nail.

Delphi is an awesome tool for win32 development. The question is, will it fully and natively be able to develop native applications for Vista? Can it consistently leverage the most recent .NET framework?

Coming to .NET, BDS 2006 is another kettle of fish.

In this regards, BDS cannot be an option because:

  1. As a .NET development environment, you can only leverage the .NET Framework 1.1 in your applications. For me, that makes BDS a non starter for my work. The .NET Framework 2 is a significant release of the framework and I’d be crazy to pass up the gains made to stick to a tool on the basis of nostalgia, or passion.
  2. If you have developed PDA applications for the Compact Framework, compared to VS 2005, BDS is again a distant second. Distant. Developing, debugging and deploying.
  3. The instability of the IDE is yet another nail in the coffin. When you have to take a deep breath before debugging … it is not a good thing.
  4. Things like WPF and Avalon are beginning to cross my radar.
  5. With regards to .NET BDS will always be playing catchup to Visual Studio. Right now the Borland team working on the next version of BDS to leverage .NET 2. Microsoft is working on the next Visual Studio that will leverage the .NET Framework 3. You cannot build a better mousetrap than the guy who builds the mice

As long as they maintain their current strategy with regards to .NET, Borland will continue to lose the few .NET developers in the fold.

Strategy

Here  is a radical thought.

Borland should cease any further development of a .NET integrated IDE.

That’s right. They should completely nuke the whole BDS 2006 .NET business. They should concentrate their experience and expertise on developing only two (or 3 IDEs)

  • Borland Delphi, for Win32 Development
  • Borland C++ Builder
  • JBuilder

What about .NET?

Borland should work very very hard to make Delphi, or Object Pascal, a first class citizen of the Visual Studio.NET environment.

Think outside the box and leverage the .NET framework the way RemObjects have with their excellent product Chrome. Using Object Pascal you can develop .NET 2 applications RIGHT NOW and leverage the .NET Framework 2. Totally integrated with the Visual Studio 2005 IDE.

This is something Borland had better look at. Currently Delphi + VCL is a framework on Win32. In the .NET world there already is a framework. What Borland should be thinking of doing is keeping the Delphi language alive.

Building an integrated development environment is not an effective use of time or resources because

  • It is very hard
  • It is very costly
  • Borland will always be playing catchup to Microsoft. They will always be a framework behind

It makes little business or strategic sense to continue to invest in a .NET IDE.

Borland should instead concentrate on making  Delphi a first class language of the .NET environment, completely integrated into the IDE. And leverage Microsoft’s IDE. They’ve already done the hard work. Why re-invent the wheel?

This make sense because

  • They can get back all the Delphi developers who decamped to  .NET. These are very VERY MANY
  • They might even get converts from VB or C#
  • They don’t have to sink vast resources into debuggers, editors, etc
  • Delphi can regain its presence in the development world as a language. Fact of the matter — as a language Delphi and Pascal are dying out
  • They can save the time and resources invested in the .NET IDE and use it to improve the Win32 IDE AND the language
  • They can get considerable sales revenue from a new SKU – Microsoft Visual Studio.NET Delphi Edition, or as an extra language in the Professional, Enterprise  & Team System SKUs
  • They can even refractor the BDS IDE and sell it as an addin for Visual Studio to keep current Delphi users happy as well as getting potential new users. The BDS IDE does have its charms.

The writing’s on the wall. Adapt or perish

kick it on DotNetKicks.com

About these ads

4 Responses to “Borland: Adapt Or Perish”

  1. Kent Morwath Says:

    I see that many had fallen in the MS trap. .NET was designed to get rid of competition and therefore push whatever product MS needs. With .NET you have basically two choices:
    1) Make your language a VS add-in. But users have to buy VS + your language. Soon they ask themselves why they shouldn’t code everything in C#, unless your language is a very specific one (say Eiffel), or they are old timers and really afraid to change. Bang, you’re dead.
    2) Try to resit and make your own IDE or compiler. Unless you are really big and with a lot of resource, MS can stay easily ahead of you. They control every aspect of .NET. You will always be several paces behind. Bang, you’re dead.

    Borland couldn’t make Delphi just another .NET language because it wouldn’t have offered any compatibilty. If one has to rewrite from scratch, he would use C#, why should he use another language?

    The real solution? Stay away from .NET. Ignore it, or just support what is needed for new Vista features. Rely on competiting solutions. Needs web apps? Think about PHP, Python or Ruby. Needs cross-platforms app? There is Java. Work on a Delphi/C++ great compiler for native apps. Make a compiler for EM64T and Itanium. Don’t run after MS. Take your road.


  2. 1) And what’s wrong with users buying .NET + your language, especially if you’re getting a cut out of each shipped box? It’s dollars and cents. Borland have nothing to lose and everything to gain. C# and VB.NET are popular not in themselves but on the back of Visual Studio
    2) I don’t understand your second assertion. Right now Delphi Developers have two choices:
    a) Stick with Delphi and lose out on .NET 2
    b) Migrate to C# or VB.NET
    Who loses out if Borland make Delphi an additional language in VS.NET and current Delphi Developers can use the Delphi they know and love to harness .NET framework 2? Why would they learn another language again and the language they have experience in is available? Again, everyone wins!
    Staying away from .NET is not an option. Why would you wrestle with Python, Java and C++ when you can do everything from one platfrom? The adage “jack of all trades and master of none” comes to mind

  3. mariuz Says:

    seems that turbos are back with free products

    http://www.turboexplorer.com/

    so they ultimately adapting and evolve

  4. Kent Morwath Says:

    “And what’s wrong with users buying .NET + your language”: nothing, if they do. But they won’t. Why should someone buy another language just to use a framework written in C#, where examples and libraries comes in C#, while books are written for C#? Learning C# for a Delphi developer is easy. Why should they bother to spend money just to use another syntax?
    “2) I don’t understand your second assertion.”: .NET is a Win-Win situation for MS and a Lose-Lose situation for everybody else. If you don’t differentiate a lot, you’ll lose.
    “Staying away from .NET is not an option.” That’s what MS hopes and want.
    “Why would you wrestle with Python, Java and C++ when you can do everything from one platfrom?” Because I can do better using another?
    “jack of all trades and master of none” That’s what Delphi will become if they follow the .NET path.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: