Simply put, Delphi is the best Windows development tool, bringing you the best combination of a powerful underlying language and a productive RAD design environment. If you want to see all the features of Delphi, read What Is Delphi? The point of this page is not to rehash what Delphi is, and what it does and how. Rather, this page is to tell you why you should use Delph, and not some other tool, such as Visual Basic, or one of the C++ compilers out there.

 

Why choose Delphi over Visual Basic?

This is perhaps the best place to start. After all, Delphi resembles Visual basic more than it does any other development tool. The two have a good RAD environment in which to develop a user interface. They both have a component pallete, where you select a component to drop onto your form. They also both have some sort of property editor, where you can easily change the most common properties of the forms and components. But that is about where the similarities end.

Executable Performance
In my opinion, this is the greatest difference between Delphi and Visual Basic. While Delphi executables meet or beat most C++ compiler executables, Visual Basic executables are on par with nothing! Up through version 4, Visual Basic generated execuatable files that were not really execuatable. Rather, the were interpretted p-code. This means that the program was, in a sense, being compiled statement by statement, every time it runs, as it runs. This causes a great loss of run-time performance. Now Microsoft has release (or is about to) Visual Basic 5. While the regular editions of VB 5 will still only support p-code, the professional end enterprise editions will now support true compiled executable code. This will boost performance somewhat, but again, you only get it with the professional and enterprise editions.
 
Microsoft has been posting some shadey benchmarks that they had some independant company perform. According to these benchmarks, VB 5 outperforms Delphi 2 when using its true compiled code option. However, one notable discreptancy is in the comparisons of VB 4 to Delphi 2. According to these benchmarks, Delphi 2 programs are only about 1.7 times faster than VB 4 programs. But according to hundreds of developers I've talked to, and according to Borland as well, everyone has independantly verified that Delphi 2 programs perform 5-20 times faster than VB 4 programs, usually in the 10-15 range.
 
It has recently been brought to my attention that benchmarks performed by Carnegie Technologies are actually the second set of benchmarks they performed. However, the second set of benchmarks is suspicious for a number of reasons. First, almost every result in the second set is exactly the same as in the first, except for a single performance test and all the VB5 scores. In the original test, Delphi 2 outperformed Visual Basic 5 by a good 30%. However, in the second set of test, every compiler tested performed worse. While VB5 took 3 times as long as in the 1st test, Delphi 2 took nearly 50 times as long as in the first. It appears to me that the original benchmarks showed Delphi blew VB away, so Microsoft had Carnegie rig up a second test which would make Delphi look bad. In any case, it all looks very unprofessional of both Microsoft and Carnegie in my opinion.
All of this really bugged me, so I set out to find some truely independant tests. Thankfully, someone pointed me to PC Week Labs comparison, showing that Delphi 2 generated programs greatly outperform even the Visual Basic 5 executable programs, by up to 7 times as fast. And these tests are consistant with what everyone else has measured, showing differences of 10-25 times between Delphi 2 and VB 4 applications. The chart below was created using the data supplied by PC Week Labs.

 

Executable Size
Visual Basic executables require a considerably larger ammount of disk space and require larger distributable files. In Delphi, a simple application requires distibuting a single file, which can be less than 200KB in size. Even a large project can be smaller than 1MB. However, in Visual Basic, even the simplest, do-nothing application requires distributing at least 2 files, the executable file, and the VBRUN???.DLL file, which is nearly 1.5MB in Visual Basic 5. This means that a Delphi application can be distributed on fewer disks. It also has an impact on distributing applications over the internet. With a smaller footprint, Delphi applications will download much faster. They will also consume less space on your web server. This is an advantage because users who get their web server space from an online service usually have a very limited ammout, often less than 5MB.
 
Development Capabilities
The development capabilities of Delphi are far superior to Visual Basic. The biggest difference lies in the core tool of the RAD ideology, the component library. While VB comes with less than 50 standard components, Delphi comes with over 100. Another major difference is the architecture of the components. While Visual Basic uses VBX/OCX controls, Delphi is centered around the VCL. The VCL components are native to Delphi, written in Delpni. With Delphi, you can easily create new VCL components yourself, inheriting all features from an existing component, if you wish. These components are then compiled right into the executable files, without the need for any extra DLLs or VBX/OCX files. With Visual Basic, however you dont have this flexibility. You can only use VBX/OCX controls, which means any additional controls will require a minimum of 1 extra file to distribute, and possibly even dozens, depending on how many additional controls you add and use. Not only that, but in VB 5 regualar edition, as well as all versions/editions prior to version 5, you cannot develop custom controls yourself, as you can with Delphi. You must either purchase them, or develop them with another tool, usually C++. But with Delphi, it is all done within one tool. And even though Delphi uses it's own VCL, it is completely compatible with VBX/OCX controls.
In addition to all this, Delphi code and VCL components are completely compatible with Borland's brand new C++Builder, which is being called Delphi for C++. This means that if there is something that can't be done even with Delphi's powerful Object Pascal, you can just combine your Delphi project with a C++Builder project and get the complete power and flexibility of C++, without loosing the RAD features of Delphi, not to mention your investment in existing code. Visual Basic code, however, is completely proprietary and cannot be combined with a C++ compiler. The one possible exception to this is Microsoft's new Visual Development Studio, which might be able to combine Visual Basic and C++ code. However, even if it does, The Visual Development Studio is aimed more towards "big businesses", and carries a BIG price tag.
 
 
Delphi 97 around the corner
All of these comparisons are adding up to show how Delphi 2 is superior to Visual Basic 5. However, Visual Basic 5 is not even out yet, still several weeks away. With Delphi 97 only a few months away from release, possibly as soon as May, you have to ask yourself something. If Microsoft's brand new Visual Basic doesn't even stand up to Borland's 1 year old Delphi 2, how much better will Delphi 97 be? Simply put, a ton better. With this new release, Visual Basic 5 matches many of Delphi 2's features, thought not even nearly all of them. However, it does jump ahead of Delphi 2 with many of its new IDE enhancements that make designing and coding easier. However, with this coming release of Delphi 97, not only will add a host of new development features and capabilities, but it will also add many of these new features added to the IDE of Visual Basic 5. So while Visual Basic 5 is not even catching up to Delphi's power, and slightly surpassing Delphi's IDE, the new Delphi 97 will catch up to Visual Basic 5's IDE, and rocket way past Visual Basic in power of development.

 

Why choose Delphi over one of the C++ compilers?

There are several reasons why you would want Delphi over a C++ compiler. First, the major reason most people go with C++ is for performance. But Delphi generates code that can meet or beat the performance of code generated by C++ compilers. Next is RAD capability. Only two C++ compilers even begin to compare to Delphi for RAD capability. The first one is Powersoft's Optima++. Optima++ is modeled after Delphi itself, but it still doesn't have the same features and flexibility of Delphi. The other product is Borland's brand new C++Builder. C++Builder is based off of Delphi and is, in fact, compatible with Delphi code and Delphi VCL components. It also has stronger support for legacy MFC code than Optima++, as well as Borland C++'s own OWL code. C++Builder, just released, matches all the capabilities of Delphi 2, though it will not yet support the enhancements coming to Delphi 97. So if you must choose a C++ compiler over Delphi, C++Builer should be the one.

 

What if I already use another development tool?

Momentum is perhaps the biggest reason not to change development tools. So if you have a considerable amount of time and effort invested in existing code, does this mean you shouldn't switch to Delphi or C++Builder? Certainly, the answer is NO! Delphi compiles existing code from Turbo Pascal directly. And for the many Visual Basic programmers, there is a utility called VB2D, which will convert most Visual Basic code and forms to Delphi code and forms with very little effort required. VB2D will translate as much code as it can, warning you of any potential problems it can find. The remaining code will be examined to determine as much as possible about it, and then it will be given to you, with the diagnostic, to convert yourself.

And speaking of momentum, when it comes to compilers and cutting-edge features, nobody has the type of momentum Borland has. Over the years, Borland has been well known for their Turbo Pascal and Turbo C/C++ compilers, probably the most widely used and fully featured compilers over the years. With Borland C++ for windows, not only does Borland support the widely popular MFC library, but they also created the more powerful OWL library. And now, with Borland Delphi and Borland C++Builder, the two programs competitors are struggling to keep up with, you can have the best and most powerful development tools ever. And you can count on Borland to have all the new innovative ideas in their next version, which you will not find in the competitor's products until several versions later.

 

Conclusion

I stronly reccommend Borland Delphi. It shows all the top-notch features of other development tools, and a whole lot more. Visual Basic comes nowhere near being able to compete with Delphi 2, nevermind the upcomming Delphi 97. And no C++ compiler, save C++Builder, can compete with Delphi for RAD features. So in conclusion, choose Delphi. If you must choose C++, though, choose C++Builder.

 

 

Back to Discoverng Delphi