Delphi's Brother: C++Builder and VCL
The other day I was chatting with my brother on our daily "drive home from work" cell phone conversation and he mentioned that he was using C++Builder 6 for a rewrite of a hardware configuration utility. It struck me as interesting because the company Rob works for, a major chip manufacturer, is standardized on Visual C++. Rob is a long time user of VC++ but he is no stranger to C++Builder and VCL. He has a history with Borland C++ compilers going *way* back - and of course for years his brother was the C++ product manager at Borland. The thing that made me smile that day was that he was using C++Builder for a project in a very VC++ oriented environment.
Rob is a hardware level developer by definition. His drivers and firmware are in more consumer devices that I can count. If you're using a laptop or PC from a major manufacturer like IBM, HP, or Dell then there is a very high probability you're running some of Rob's firmware or driver code [but don't ask me to forward any support questions!] He explained that he recently had added some new features to some firmware that needed to be surfaced in an existing Control Panel applet. The applet was originally written with MFC in a very procedural non-RAD manner typical of MFC user interfaces. Over time and multiple developers it was now more or less a mess. It really needed to be rewritten, but an MFC rewrite wasn't really something he was looking forward to. Particularly because in the back of his mind he knew how much faster, easier, prettier, and cleaner it would be if he could "just do it" in C++Builder and VCL.
Knowing he'd have to take a little grief for using a "non-approved" tool and framework, he made a judgement call and "just did it". The new VCL based Control Panel applet will soon make itself into millions of PCs and Laptops. It now had new features, a more polished user interface, a far more maintainable code base and was written in less than a week with 41k of source code - compared to the "who knows" how many months the 261k of MFC code originally took. The estimate to rewrite the MFC applet from scratch with was twice the C++Builder VCL estimate and would have lacked all but the bare minimum of the new features and none of the polished user interface touches that ended up in VCL version.
The kicker was that the product manager lamented after the fact that it would have been nice if the applet were a regular application exe instead. 1 hour later it was converted.
This example is hardly unique. When I was the C++Builder product manager I heard the MFC to VCL stories regularly from customers. These days with my attention focused on Delphi I don't get to hear the C++ stories as often. So it was nice to hear this one, particularly from Rob.



2 Comments:
Anybody else find this ironic considering what's been going on with C++Builder/BuilderX?
I fully aggre that the VCL/MFC comparison leads to the simple rule of thumb: "Throw away MFC, use VCL only". But what about new versions and support from Borland? It looks like the C++ branch has taken a different route with the advent of C++ Builder X. Borland am I wrong?
Post a Comment
<< Home