
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