Tuesday, December 28, 2004

The Borland Trinity IDE - A New Hope

In my previous post - I welcomed the exciting news from Borland regarding the future of C++Builder! If you’re just tuning in, Borland is promising to release C++Builder as a “personality” within the Borland Developer Studio (BDS) -- better known as the Delphi IDE. Since it will offer 3 language personalities integrated into one complete development environment (Object Pascal, C# and C++), perhaps a more appropriate name for the future of this IDE is Trinity*

(* or – as someone suggested to me - TrinIDE - for those who prefer a unique and clever spelling)

In case you’re wondering if this Trinity IDE is possible, Troy Kitch, Borland product manager for C++ recently unveiled what we asked for – a sneak peak, which is available at BDNtv! This video trailer of C++Builder integrated into BDS (aka Trinity) is perhaps the most effective communication to come out of Borland in some time! In fact, I would rate this trailer right up or above with the recently released Star Wars Episode 3 trailer. Not because it’s a phenomenal production, but because it shows the possibility of something great and exciting -- and something we've all anxious to see. While we wait for it's release, we can only hope to see more “signs of life” in the coming months for this Multilanguage IDE!

You might be thinking, “A Multilanguage IDE is not so new. Microsoft has their Visual Studio which provides compilation for a number of languages include Visual Basic, C++, C# and J#. “ True, but this is a little different. The potential impact of being able to cross development and share resources between C++ and Delphi code for Win32 and C# and Delphi code for .NET far out weighs what Visual Studio provides simply because of one magical thing --- the VCL!

The VCL, since it's inception in 1994 with the advent of Delphi, has truly brought the reality of composability to Win32 software developers – at least for those of us who have used Borland’s Delphi or C++Builder products. Until .NET, Microsoft never had anything like the VCL. Sure they offered VBX and ActiveX, but the VCL offered highly customizable composability at the design phase – with access to source code by many of the vendors who sold quality components. Additionally, these components, via their binary representation, could also be leveraged at run-time as well providing, in affect, dynamic composability support.

One of the things most encouraging is that Trinity will essentially level the playing field between Delphi and C++! Historically C++ always lagged behind Delphi. In fact, often the release date for C++Builder was 6 months to a 1 year behind a Delphi version release. As a result, C++Builder users always felt like 2nd class citizens compared to our Delphi and JBuilder collegues who seemed to be getting all of the attention from Borland. But now – the IDE will be the same! All that is required is the personality in the form of compiler and linker to be bundled with the IDE.

There are some other potential benefits as well, which all center upon the VCL! I will venture to say that VCLs written in Delphi will easily work with C++ without modification. This will not only make developers happy – providing more component choices, but will make component vendors happy where they can be assured that a Win32 VCL component release will work out of the box for both Delphi Pascal and C++. Eventually, perhaps we will see the same capability with .NET VCL components, but that might take a while longer.

The next logical question that might likely be asked with some frequency is, “Will VCLs written in C++ work with Delphi Win32 programs?” My initial reaction, based on past experience, is that it probably would not – at least not for Win32. However, when you think about it, with the C++ compiler and linker available in the IDE, there shouldn’t be anything stopping someone from using C++ Win32 VCLs even if they are creating an app in Delphi! In other words, I see a window of opportunity for this to happen! It’s simply cross compilation – and if the compiler and linker are there – it shouldn’t matter which we you go with the VCL – Delphi Pascal or C++ -- as long as it’s VCL.

In the final analysis I see the only factor that might limit C++ or Delphi developers is price. We can only hope that Borland will price Trinity competitively with the value provided from the Microsoft camp. For everything else I see an upside! More availability of components, less learning curve regarding IDE, more benefit to Borland themselves as far as resource allocation (since it’s all the same IDE), more opportunities for 3rd party vendors (VCL components, IDE plug-ins), and more!!!

It’s possible that Trinity could be the best thing that has happened to Borland and their users since the advent of Turbo Pascal in the 80's and Delphi and C++Builder in the 90's. Time will tell however!

Tuesday, December 14, 2004

Good News from Camp Borland

Will Borland recommit to a VCL-based C++Builder?
It's hard to believe that this question has been asked on a daily basis since probably the end of 2002 -- almost two years. Consider that this is when the last VCL-based version of C++Builder was truly being marketed by Borland and written about by others as evidenced by the two books that were released at that time. Since then, however, we've seen Borland move towards a new look C++ IDE, which honestly just hasn't caught on although it is enticing for those with a cross-platform support requirement, and we've seen Microsoft peddling an IDE and new language (i.e., C#) that has tempted virtually every BCB user that I've met -- including myself.

But in the final analysis, BCB has been missed -- greatly! The VCL, the RAD, the language -- it was all the right blend -- or close to it. Now, the long awaited question has finally been answered. We learn today that the "the next version of C++Builder will be part of the Delphi IDE family"

The brief, but encouraging letter that answers this question can be found at http://bdn.borland.com/article/0,1410,32845,00.html.

My sense is that the community's early reaction to this letter of recommitment is...

"YES!"

This good news is learned one day before their own deadline, which, if that date had passed, would have likely done more damage to Borland than any other questionable decision that they have made in the past -- and they have certainly made a handful (remember Inprise, the frequent open letters that they've failed to deliver, dropping Kylix, the often questionable/suspect marketing, and more).

But I guess it is always easy to remember the disapointments. However, the truth remains that, despite the disapointments, Borland has been the one company that Developer's have always seemed to cheer for. It's a lot like the hometown team. You get mad at 'em when they loose and make poor decision during the execution of the game, but you always hope that they can turn it around and win big.

Well at this state the game isn't won yet, but what this letter does is set up Borland for a chance to WIN. Management finally seems to side with the fans and with the players on the team. This is good news!

In fact, I'm willing to guess that there are those inside Borland -- the players on the team -- who are just as happy about the news as those of us that are on the ouside depending upon BCB for our projects.

The new question that is to be answered, and honestly it's great to be able to ask this, is when will we see this next version?

While that question is being pondered by Borland, I hope in the meantime that Borland will release a TurboDemo of the very early development version, which we saw at BorCon 2004 in San Jose that already integrates into the Borland Delphi IDE. Showing an early cut of the IDE will provide tangilbe proof of the commitment described in the letter

And in the near future, I hope we see a beta release available to the community of BCB developers. For those who contributed and/or signed the community letter that we wrote to Borland, I hope that we can participate as one of the first beta candidates.

The key though is that we need to continue to hear (and see) more from the Borland camp regarding C++Builder! But, there's no doubt, this is the first big step!

Go Borland!