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.
- Blisteringly fast
- Came with extremely rich collection of component
- Built in reporting tool
- Compiled to EXE … no dependency headaches
- Object oriented
- Powerful language
- Flexible VCL Framework
- 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
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:
- 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.
- 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.
- 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.
- Things like WPF and Avalon are beginning to cross my radar.
- 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.
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
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