Real Programmers Use Pascal
by Ray Lischner, author of Delphi in a Nutshell
In case you havent heard the news yet, Borland is porting their landmark Delphi product to Linux. To many professional programmers, this is wonderful news. Earlier, you may have read Kylix is Coming!, in which I introduced the Kylix project and described it in general terms. Now that Borland has revealed more information about Kylix, I can give you more details.
Delphi is a rapid application development (RAD) environment, powered by a modern, object-oriented programming language and an extensible, component-based architecture. Currently, all this power is available only on Windows, where it is successfully being used in games, development tools, desktop applications, and used to drive web sites and connect multi-tier database systems. This article takes a closer look at Delphi for Linux and its companion product, C++ Builder for Linux.
Kylix is Borlands code name for a large project that involves porting Delphi and C++ Builder to Linux, working with tool and component builders to make sure third-party support is in place when the products ship, and getting the word out that rapid application development is coming to Linux.
Kylix isnt for everyone, though.
For one thing, the main programming language is Delphi Pascal. Just the name Pascal sends many programmers scurrying for the exits. But dont be too hasty. This is not your fathers Pascal. A far cry from traditional Pascal, Delphi has a number of modern conveniences, such as:
In other words, Delphi has everything a programmer needs for modern software development (with one exception--generic types--but no language is perfect).
The Kylix package contains more than just a souped up Pascal compiler, though. The integrated development environment (IDE) supports rapid application development, which means:
Still not convinced? Thats okay. As I wrote earlier, Kylix is not for everyone.
Dont use Kylix if:
Now you know what Kylix isnt good for. What use is it? Rapid application development means just that--writing applications quickly and effectively.
Applications can be desktop tools, from games to word processors. They can be database clients, servers, or middle-tier layers. They can be network clients such as email readers, or network servers such as web servers.
The "rapid" part of the description means you can use Kylix to write applications faster than you could with traditional tools, such as gcc, emacs, vi, and gdb.
The first part of being rapid is the ability to design forms (windows and dialog boxes) visually. Click on a component, drop it on a form. Select a component and modify its properties. These features are commonplace, and you can find them in Glade, KDevelop, and other tools, so its no surprise to find this feature in Kylix.
Kylix is much more than a mere GUI-builder, though. It uses an extensible, component-based framework for widgets, database components, network components, and more. The framework is called CLX (component library for cross-platform, pronounced "kliks"). CLX is easily extensible. Already, third-party developers are writing components to supplement the standard components. Writing your own component can be as easy as deriving a new class from an existing component.
CLX comes in several parts:
Because CLX is extensible, there will be a variety of components from third-parties. Several web sites (such as Delphi Super Page, and Torrys Delphi Pages ) host thousands of components that can be added to Delphi for Windows, and we can expect similar abundance of components after Kylix ships. Third-party tool and component vendors are already working with early releases of Kylix to get their components ready.
Components are convenient for many uses. For example, you can drop a POP3 Client component on a form, add a tree widget to display a hierarchy of folders, a list widget to display messages in a folder, and a text area to display a single message. To hook up these components, you add event handlers, which are just methods (member functions) declared in the forms class. Some event handlers are simple, s Codename Kylix
Variant
type
Rapid Application Development
What Is RAD?