A Comparison of Client/Server Development Tools; Powerbuilder vs. Delphi|
By Michael Lant
Sphere Data Systems Inc.
NOTE: The views and information expressed in this document represent those of its author(s) who are solely responsible for
its content. Borland does not make or give any representation or warranty with respect such content.
VII. USER INTERFACE
Summary: Rapid Application
Development environments incorporate a good user interface and
simplifies programming tasks thereby increasing the usability
of the product.
Simple and easy to use
interfaces reduce training costs and increase productivity.
should not force the developer to work or code in any one particular
In an industry where the only
constant is change and where cost overruns and slipped delivery
dates have become the norm, training costs and team productivity
are significant. However, these are often underestimated costs
of the application development effort. At the core of these issues
is how well the application development tool interfaces with the
people who use it.
The most sophisticated and
powerful tools are of little use if they are overly complex or
require extensive training to learn the mere fundamentals. Central
to this issue is the design of the user interface (UI). The principles
that govern the good UI design of application development tools
are no different than those that govern the design of the user
interface of a word processor, spreadsheet or an Internet browser.
All aspects of the UI must be presented to the user in a consistent
and easily understood manner and must be available for use at
The number and variety of
interfaces presented to the user should be minimized and the UI
should not force the user to work in a predetermined way. Instead,
development tools should be adaptable to the way the developer
A. Delphi Rapid Application Development Environment
While PowerBuilder limits
accessibility to various portions of the project, the Delphi Interactive
Development Environment (IDE) decreases the limitations imposed
on the developer. Delphi allows the developer to move freely
about the IDE, accessing any and all functionality at any time.
There is one primary interface that is presented to the developer.
It consists of a Tool Bar, the Object Inspector, the Form Designer
and the Editor. There are other tools integrated into the environment
such as the Database Explorer, Database Desktop, ReportSmith,
SQL Monitor and others, all of which can be used at any time without
limiting access to any other portion of the Delphi IDE.
Figure 9: The Delphi IDE provides rich functionality and the flexibility
Conclusion: Unlike PowerBuilder,
the Delphi IDE is flexible and easy to use. It allows the developer
to freely choose the right tools to complete the job, is fully
integrated with the entire development environment, and is completely
open to customization. The intuitive Delphi IDE is easy to learn
and increases developer productivity.
B. PowerBuilder Painters
Many of the concepts presented
in PowerBuilder are seen as limitations by users and developers.
PowerBuilder uses the concept of "painters" to isolate
different areas of functionality within the Interactive Development
Environment. Infoworld had this to say about PowerBuilder, "Quirky
User Interface", Infoworld, April 29, 1996
The painters were implemented
to assist developers by segmenting the process of application
development into a variety of logical operations, isolating each
from the other, and providing an interface tailored to the task.
Because tasks are isolated, it is difficult for the PowerBuilder
developer to obtain a comprehensive overview of the entire application.
Additionally and detrimentally, the PowerBuilder developer is
often limited to accessing one portion of the project at a time.
For example, when PowerBuilder
developers create a structure, they are forced to use the "structure
painter". At first this may seem like an attractive way
to create such a construct. Upon closer study, we see that:
Conclusion: Each PowerBuilder
painter is different. Many times they don't work with the rest
of the development environment. They dictate a work flow that
often decreases developer productivity. The painters enforce
processes that are neither natural nor intuitive and in fact are
just time consuming.
- While the structure painter
is open, no other portion of the IDE is accessible.
- The painter must be used
each and every time a developer wishes to create or modify a structure.
- The painter is redundant
in that the intricacies of creating a structure are already understood
by the professional developer.
TAlthough visual development
tools automate simple programming tasks, there is still no substitute
for writing code. As such, the editor is still the most important
tool a developer will use.
1. The Delphi Professional Editor
The Delphi editor is full
featured, professional and highly customizable so that it can
easily be tailored to work the way the developer would like to
work and maximize productivity. It features customizable syntax
highlighting, alternative keystrokes mappings, macro record and
play, column block marking and brief/emacs emulation.
Delphi code is not limited
to small blocks; all of the code for an entire form or unit is
made available for the developer to freely browse and edit. Accessing
the code for a specific event is accomplished by double clicking
on the event in the Object Inspector.
The Delphi editor does not
limit access to the rest of the IDE, nor does it limit access
to only one procedure or method, or unit at a time. In fact, files
of any type may be opened and edited in the Delphi editor. Because
the Delphi compiler checks syntax at compile time, the code does
not have to be syntactically correct before leaving to edit another
code block or to check scope.
Figure 10: The
customizable Delphi Editor includes professional features such
as Syntax Highlighting.
Delphi code, although often
associated with events of a UI object, is never hidden from the
rest of the projects code.. The Delphi developer may navigate
freely through all code including code from another project.
Any code that has been associated with a Delphi control (including
- but not limited to UI objects) may be directly accessed via
the events page of the Object Inspector.
Conclusion: The PowerBuilder
development environment does not work with the developer and lowers
productivity. The customizable Delphi Development environment
is easy to use, increases productivity, and lowers associated
training costs. This allows the developer to concentrate on the
issues specific to the application they are developing rather
than the tools they are using.
2. The PowerBuilder Editor
By today's standards, the
PowerBuilder editor is primitive and inhibits the work flow of
the developer. For example, PowerBuilder code is broken into
small segments and hidden behind visual controls such as buttons
or edit boxes. The PowerBuilder developer is forced to work with
only one method or procedure at a time and search for referenced
code, or miss it altogether.
Perhaps the most troublesome
aspect of the segmentation of code is that only small segments
of code may be viewed or worked with - in isolation from any other
code. This hinders the developers ability to create a complete
conceptual understanding; there is little chance of checking programmatic
Segmented code is difficult
to maintain. Powersoft recognizes the weaknesses of code segmentation
and recommends that application code not be placed inside UI objects;
rather there should only be a call to a procedure stored in a
library. Although this approach allows all of the application
code to be separated from UI objects, it introduces another and
possibly more insidious problem whereby the code is entirely disassociated
from the calling object - forcing the developer to search through
the called library(s) to find the procedural code associated with
a UI object.
Additionally, each block of
code must complete a syntax check before the edit window may be
closed and reopened on another block of code. The PowerBuilder
developer is also not allowed to work with the visual portion
of the form until the edit window is closed thereby limiting productivity.
The PowerBuilder developer is even prevented from closing an application
until the syntax check is passed.
Conclusion: Segmented code,
enforced and untimely syntax checks, and a restrictive IDE, are
all limitations of the PowerBuilder editor that reduce productivity,
raise training and maintenance costs.
development is a fast growing, rapid paced segment of the software
industry. Delphi 2.0 is setting the standard in client/server
development. This paper has shown that Delphi surpasses PowerBuilder
5.0 when it comes to performance, ease of use, object oriented
technologies, database access, client/server rapid application
development, and scaleability. Because of this, Delphi enables
developers to be more productive and businesses to be more competitive.
Compared with the forthcoming
upgrade of PowerBuilder 5.0, Borland now offers a much more effective
solution for departmental client/server development as well as
for the more complex enterprise client/server development due
to the scalable architecture provided by Delphi Client/Server
Suite and Entera. Borland's development tools support a wider
range of users, from hundreds to tens of thousands, and provide
the reliability and security corporate customers need. In addition,
Borland addresses issues of application management and open connectivity
to legacy applications not addressed by PowerBuilder which uses
a closed, proprietary approach to multi-tier development.
Borland maintains a considerable
productivity advantage through it's rapid application development
environment and its full support for object-oriented code reuse.
And even with PowerBuilder's long promised "C code generator"
add-on, Delphi Client/Server Suite offers significantly faster
performance and productivity by integrating the world's fastest
optimizing native code compiler. PowerBuilder offers limited
tools for the database server, whereas Delphi Client/Serve Suite
includes an integrated SQL Explorer for viewing server meta data
and a SQL monitor for performance tuning and testing.
Businesses surveyed by ComputerWorld
clearly believe that Delphi is meeting or exceeding their business
How would you rate your
overall satisfaction with you development package?
Would you choose the same
This paper has also shown that:
- Delphi provides a competitive
advantage by creating the fastest native code client/server application
- Delphi decreases training
costs through ease of use and a modern Rapid Application Development
- Delphi increases productivity
by providing both client and server tools.
- Delphi increases reusability
and maintainability through object-oriented technology.
- Delphi offers superior
scaleability through high speed SQL Links native drivers to relational
- Delphi insures system
reliability and uptime through the most stable RAD environment.