Delphi 2 - A Comparison of Client/Server Development Tools; PowerBuilder vs. Delphi

By: Borland Staff

Abstract: Delphi offers performance vastly superior to PowerBuilder. And only Delphi offersintegrated coding, debugging, testing, and deployment of client/serverapplications to increase developer productivity and applicationstability.

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.


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.
Programming interfaces should not force the developer to work or code in any one particular way.

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 all times.

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 works.

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 professionals need.

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:

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.
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.

C. Editors
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 scope.

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.

Client/Server application 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 requirements.

How would you rate your overall satisfaction with you development package?

Very Good Good Average
Delphi 48% 40% 7%
PowerBuilder 26% 50% 16%

Would you choose the same product again?

Yes No
Delphi 81% 5%
PowerBuilder 60% 24%

This paper has also shown that:

Delphi provides a competitive advantage by creating the fastest native code client/server application executables.
Delphi decreases training costs through ease of use and a modern Rapid Application Development environment.
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 databases.
Delphi insures system reliability and uptime through the most stable RAD environment.

Server Response from: ETNASC03