Java Tutorial ResponseΒΆ

Subject: RE: Delphi and Object-Orientation
Date: Wed, 16 Jun 1999 10:28:06 -0700
From: Glenn Anderson <GANDERSON@ESW.COM>
To: "'slott@delphi.com'"  <SLOTT@DELPHI.COM>

On Wednesday, June 16, 1999 6:42 AM, S. F. Lott [SMTP:slott@delphi.com]
wrote:
> Glenn Anderson wrote:
> >
> > I found this on your website:
> >
> > What about VB, PB, Delphi?
> >
> > Aren't they Object-Oriented?
> >         Barely
> >     The issue is they are tightly coupled to their private GUI model
> >         You couldn't write a server
> >     They are incomplete as languages
> >         You can't have an abstract class unrelated to the GUI
> >[snip]

Unfortunately some people see the
similarities between Delphi and VB and assume that Delphi has all the same
limitations as VB, which is not true.

VB is object based, which means that it uses and can, to some extent,
create objects based on the whole COM philosophy about objects.  It is
"Barely" object oriented.  Delphi on the other hand supports all the basic
object oriented attributes that are important: Abstraction, encapsulation,
inheritance and polymorphism.  In addition it adds a great many features
over traditional hybrid languages like C++ such as class type variables and
virtual constructors, the combination of the two being extremely powerful
for reasons that I won't go into now.  It is as object oriented as Java
with the exception that it is a hybrid language and does not force
everything in the language to be an object.

[snip]

Delphi is not coupled to it's GUI model, in that you could completely
eschew the development environment, and compile flat out, straight old, C
style windows applications if you wanted, all the while using whatever
classes you had in your heart to create for such work.  This would be
silly, given the power of the VCL, but it could be done.

The last statement, "You can't have an abstract class unrelated to the
GUI," is flat out wrong.  The ancestor of all classes "TObject" is such a
class.  I can also easily create a class, and frequently do, that looks
something like this:

type
  TShape = class
    procedure Draw; virtual; abstract;
  end;

This is an abstract class that has nothing to do with the GUI and is
perfectly valid.

Anyway, I hope this clears things up a bit, [snip].  Delphi is
frequently maligned by people who don't understand it [snip].

--Glenn
version:1
date:1999

Previous topic

CGI, Java, and Web-Enabled Applications - Steve Lott

Next topic

Java and Related Technology