Manufacturer: Borland Software Corporation
Price: GPL development version—free download (or $99 US for a hard copy version), Developer—$999 US ($199 until August 23, 2001), Server—$1,999 US
Reviewer: Petr Sorfa
Kylix represents an important and, hopefully, successful step for program development for the Linux operating system. Borland is creating a commercial market for Linux that has been poorly represented until now. Borland is embracing the Linux community by making certain Kylix components open source and releasing an open edition of Kylix at no cost (expected sometime in the summer of 2001).
Kylix is an integrated development environment (IDE) for the creation of software. More importantly, it is a rapid application development (RAD) tool that provides components for quick development of database connectivity, internet content and graphical user interfaces (GUIs, see Figure 1).
Kylix took two years to create, which in my experience is a short development time for a product so diverse and complex. I had heard of it for the first time one year into its development and have been waiting eagerly to use it ever since. Borland brings back memories of my first commercial programming language Pascal, and I was interested to see how things have progressed over the years. In addition, my copy arrived taped to the bottom of a Borland skateboard—Borland is tapping into those good old memories.
My first test was to try to create a GUI front end to my MySQL database. I was unsuccessful, even though it looked really easy at the Borland demo. Unfortunately, you must read the tutorial book before using Kylix. In a sense, the fault is mine as my experience is developing applications on UNIX platforms using products like KDevelop, whereas Kylix essentially is based on the Windows mindset. The differences are subtle but enough to force you to read the manual.
The Kylix editor is definitely one of the most capable editors I have ever seen for Linux. Apart from color highlighting program sections while you type, it attempts to predetermine what you are typing (including programming constructs) and assists you with function parameters and class elements (see Figure 2). This feature also analyzes a class declaration and automatically creates functions with default content. Emacs fans can rejoice, as the editor can be set to handle Emacs key mappings.
Okay, there is something really sneaky about the compiler—it's just too fast. When I created my first program in Kylix, I pressed the compile button and nothing happened. So I pressed it again. I only then realized the program compiled so quickly that the compiler had finished its job while my clicking finger was still coming to a rest. The compiler is available as a command-line program, dcc. dcc also incorporates the linker. This is particularly useful for batch builds and development without the IDE for those die-hard vi power users or text terminal development.
Debugging is the standard useful fare. It is a good implementation but nothing extraordinary (like changing the code while debugging and carrying on execution without restarting the program). I was extremely pleased to discover that GDB supports the Kylix-generated binaries. Unfortunately, I could only use GDB to debug at machine code level as the symbol table failed to load. I either was using an incorrect version of GDB or did not have a correct compilation flag set. The Kylix debugger and GDB provide a win-win situation for beginner and advanced users alike (see Figure 3).
The Kylix GUI builder is a good commercial front-end builder (see Figure 4). Kylix extends what is usually expected from GUI builders (as RAD components), such as database connectivity and web server tools (which have nothing really to do with the GUI), by actually representing them via the GUI. This use of nonvisual RAD programming components in the GUI allows for easy access to associated GUI front ends.
The one thing I did expect, but did not find, was a graphical way of setting up relationships between GUI components, for example, connecting a button via a line to a dialog box to establish a relationship between the button and the dialog box (such as a button click to close the dialog). This sort of graphical-relationship building is available in several other products, most notably Trolltech's Qt Designer for the Qt Widget set. As a side note, Kylix uses the Qt Widget set as a base for its cross-platform components (CLX).
Since I was using the Server version of Kylix, I had access to all the components that are available from Borland (see Figure 5). There are some excellent web server utilities for development with Apache. The database components are part of a collection called dbExpress. The dbExpress philosophy retains the live data in the computer's memory, and only when an update is initiated or needed is the data sent to the actual database. This approach apparently prevents extended locks on the database and cuts down unnecessary network traffic.
I was disappointed that there was no OpenGL component. Granted, Kylix is aimed primarily at business users, but a little 3-D in an application is always a welcome sight.
As far as project maintenance, Kylix provides a to-do list that can be shared amongst a development team. The Code Explorer allows quick perusal of the code structure. An object repository allows project members to share sections of work. Although Borland assured me source control products, such as CVS, could be integrated with Kylix, a third-party interface product needs to be developed to support it.
Another problem is that the documentation is inadequate. For a $2,000 product, I expect several good books included in the package. All that is included is a well-written tutorial book that covers only the basics and really needs to be expanded to provide a good springboard for new Kylix developers. The program reference guide is sufficient but is obviously not a substitute for the on-line documentation. Fortunately, the on-line documentation provides good coverage and includes many examples. What is really missing is a guide for C/C++ programmers for Kylix and the Object Pascal programming language or some sort of computer-based training (CBT) introduction. Most Linux application programmers are C/C++ programmers, and a guide like this would have been a nod to the Linux platform. I strongly recommend that new Kylix developers read the whitepapers on Borland's web site, particularly when coming to grips with the database and web components.
There are three editions of Kylix: Open, which is available for free (downloadable) for noncommercial GPL development (or $99 US for a hard copy version); Developer, for commercial use with a limited number of features and components ($999); and Server, with all of the features and components ($1,999).
I was really hoping that the $99 version would be a stripped-down version that would allow you to create personal or small commercial products. The Open edition is available on the condition that any code that is produced with it using CLX must be released under the GPL. This implies that the source code of these programs is to be made publicly available. Although this has great open-source merits, it does effectively prevent a majority of commercial development. It looks like the $999 Developer version is the cheapest commercial-quality one and that there does not seem to be a cheap commercial version that matches the Delphi standard edition for Windows.
However, the Borland community is undoubtedly strong and helpful. The on-line documents and newsgroups are an excellent and necessary source of information. Most of my difficult problems were answered by reading the Borland newsgroup messages. In addition, several Borland folks have an active and helpful presence on the newsgroups (http://www.borland.com/newsgroups/).
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Tips for Optimizing Linux Memory Usage
- Secure Desktops with Qubes: Introduction
- Working with Command Arguments
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Fancy Tricks for Changing Numeric Base
- Secure Desktops with Qubes: Installation
- CentOS 6.8 Released
- Linux Mint 18
- The Italian Army Switches to LibreOffice
- Seeing Red and Getting Sleep
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide