Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesGood News From Delphi


May 1995 / Reviews / Good News From Delphi

Borland's Delphi is a potent combination of Object Pascal compiler, visual development environment, and database tools

Raymond GA Cote

After more than 15 months of beta testing and nearly two years of buildup, Borland International has delivered Delphi, its entry into the RAD (rapid application development) marketplace. Windows-based Delphi consists of several tightly integrated components: an object-oriented Pascal compiler and debugger, a visual design environment, and strong database access tools. Borland designed Delphi as a tool to both develop prototype applications and convert them into commercial and corporate-grade products.

There are two versions. Plain old Delphi includes the development environment and the Borland Database Engine for access to dBase (several versions), Paradox, local InterBase, and A SCII tables, as well as other databases with ODBC (Open Database Connectivity) support. Delphi lets you generate stand-alone applications (not just database applications) and distribute them free of royalties. Delphi also comes with a single-user version of InterBase, Borland's SQL database server for Windows, but without license for distribution.

Delphi Client/Server ($1999) adds versioning control for development team support, built-in access to remote SQL databases (e.g., Oracle, Sybase, Microsoft SQL Server, and Informix) through Borland SQL Links 2.5, Interbase unlimited distribution license, and source code for Delphi's library of components. Delphi applications scale fully to Delphi Client/Server.

With the two versions, Borland is challenging low-end tools such as Microsoft's Visual Basic and high-end 4GL (fourth-generation language) products such as PowerSoft's PowerBuilder. Almost any development product introduced on the Windows platform today is either positioned as compatible with Vi sual Basic or as a VB-killer. On its merits, Delphi is certainly the latter and more. Whether or not Borland's RAD products pack enough power and performance to woo developers away from the Microsoft stable is another matter.

Old Friend Pascal

At Delphi's core is Borland's speedy object-oriented Pascal compiler. Pascal was Borland's original entry into the development tools marketplace and has not been a highly visible language over the last few years. The company has continued to develop and support it, however, keeping it up to date with support for all the latest operating-system niceties, such as DDE, MAPI, ODBC, and OLE 2.0.

If you are familiar with any other object-oriented language, you'll soon settle into Object Pascal. This is a single-inheritance object language with the features you expect, such as encapsulation and data hiding. The compiler provides extensive support for exceptions, a feature still lacking in many C++ compilers.

Borland claims its Pasc al compiler is the fastest on the market, for any language. Although we didn't do any head-to-head testing, it is certainly fast enough. The application pops onto your screen soon after you select run from the development menu.

Coupled with the compiler is a source-level debugger with such niceties as conditional breakpoints. The debugger provides excellent viewing tools for looking through in-memory objects and tracing through function call stacks. The debugger does lack the ability to switch between source- and assembly-code viewing, an essential when debugging calls to system-level APIs.

Delphi Development Environment

The Pascal language is in many ways incidental to the Delphi development environment. Spend 5 minutes working with Delphi and you'll think you're working in Visual Basic. Spend 10 minutes and you'll realize that this is Visual Basic as it has appeared only in your dreams.

The development environment consists of the Component Palette, Form Designer , Object Inspector, and Code Window ( see the screen ). A customizable "speedbar" contains icons for frequently used commands. Most of the Delphi design tools use a tabbed form interface that effectively packs lots of information into a small space.

As with Visual Basic, Delphi applications consist of a series of forms. You compose a form with simple graphical components, such as buttons, lists, and text boxes, as well as more complex entities, such as custom-built Delphi Components, OLE 2.0 objects, and VBXs (Visual Basic custom controls). You select elements from the Component Palette, which is extendable, and place them in the Form Designer. You then set component characteristics via the Object Inspector.

Placing a graphical element on the Form Designer immediately produces a definition and associated functions in the Code Window. There you can add functionality to the code. Delphi has the unique ability to let you define a new graphical element as text in the source code and then paste that textual description into the form. This feature allows you to switch freely between a graphical and textual design environment, whichever is most suited to the task at hand.

Delphi is extensible. You can, for example, add third-party VBXes to the Component Palette. Developers can also create custom Delphi Components for in-house use or for sale. From the developer's viewpoint, custom components are indistinguishable from Delphi's built-in components. They appear graphically when placed on a form, and their attributes appear in the Object Inspector. The ability to build extensions within the environment without having to resort to a second language, such as C++, is a definite plus.

Also unique, Delphi components can be live: They can display actual data at design time. That capability extends to database access controls, so you can lay out your forms while displaying the data.

Once you have completed an application, you can either create a self-contained application or you can generate a DLL that you can then link to various other development tools. The smallest workable DLL, which includes the complete Delphi support library, seems to be about 250 KB. You don't need external DLLs unless your application uses third-party objects such as VBXes and ODBC drivers.

Database Access

Delphi applications perform all database access through the Borland Database Engine. This allows you to ignore, for the most part, what type of database a program accesses. However, if you know that you are going to specifically communicate with an SQL database, you can also build SQL-specific queries.

Both versions of Delphi come with a fully functional, single-user version of Borland's InterBase. This package lets you create and test SQL-based applications on local systems. Both versions supply ReportSmith, a sophisticated reporting and data extraction tool, but only the Client/Server version comes with a visual SQL query builder. Both thes e tools provide sophisticated access to local and remote database systems and complement the development environment.

Delphi rounds out its environment with tools for building icons, cursors, and simple bitmaps. Delphi also comes with integrated support for the PVCS 5.2 version control system from Intersolv (Rockville, MD (301) 230-3228). Unfortunately, this support comes with only the significantly more expensive Client/Server version; individual users also require versioning control for their projects.

Power Base

With its quick compiler, extensible environment, and integrated database access, Delphi is a powerful base for creating applications. The accessibility of VBX extensions and OLE 2.0 objects opens a world of third-party add-ons to the Delphi developer. The ability to create stand-alone applications, as well as self-contained DLLs provides ways to integrate your results with other applications. At the core of all this, add the delight of working again in Pascal- -a language more powerful than Visual Basic--with strong typing and object extensions, and yet so much simpler and safer than the intricacies of C++.

In future releases, we'd like to see automatic garbage collection, integrated source-code control in the base version, and portability beyond Windows 3.1. Borland has plans to provide a 32-bit Windows 95 version whenever that operating system ships, but the company has no stated plans to provide support for additional platforms--something Delphi will need for long-term survival as a developer product.

At the very least, Borland has raised the level of functionality that developers should demand from their development tools. It remains to be seen how many developers Delphi will actually attract. Our guess is that anyone who spends more than two or three days working with Delphi will find returning to previous development tools difficult.


PRODUCT INFORMATION


Del
phi                     $495
  (90-day introductory price $199.95)
Delphi Client/Server       $1999

Borland International, Inc.
Scotts Valley, CA
(800) 891-2223
(408) 431-1000


Delphi Database Architecture

illustration_link (89 Kbytes)


Delphi's Development Environment

screen_link (64 Kbytes)

At the top are the elements of a typical Delphi development environment: the Component Palette, Object Inspector, Form Designer, and Code Window. At the bottom right is an executing program, and at the bottom left the Delphi debugging system. The program window demonstrates a live component at design time, a directory view component displaying the current status of the hard disk.


Raymond GA Cot e is a BYTE consulting editor and vice president of product development for Appropriate Solutions, Inc. (Peterborough, NH). You can reach him on the Internet at rgacote@apsol.com or on BIX as "rgacote."

Up to the Reviews section contentsGo to previous article: Apple's Improved MessagePadGo to next article: Mathematica Meets WarpSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network