I tried to install Kylix on several Linux distributions. Unfortunately, the supported Mandrake 7.2 did not install cleanly, and I had to use Borland's libc to circumvent the installation problem. A Linux system, which I have hacked together from various bits and pieces, had no problem installing and running Kylix. To assist potential Kylix developers, Borland has made a Kylix pre-test tool to check if your Linux installation has all the required components. You can download the Kylix pre-test tool from http://www.borland.com/devsupport/kylix/downloads/.
The initial version of Kylix supports the Object Pascal programming language, which is a merger of Pascal, Modula 2 and object-oriented concepts. The language is probably easier to learn for absolute programming beginners as it is closer to the English language, very much like a scripting language. My major gripe was getting used to the := symbols for assigning variable values. While programming, I appreciated the Kylix editor that helps you to program and use the components.
The Borland component library for cross platforms (CLX) is a strange beast, particularly for a seasoned Motif/Qt/Java programmer. Its API names and relationship logic have a Windows flavor and take some time to get used to and understand what function or class will do what you want. Borland has also released CLX as open source on the sourceforge.net site at http://freeclx.sourceforge.net/. CLX covers all the core elements needed to build a graphical application.
Regarding databases, although Kylix supports MySQL, it has a major problem at the time of this writing for it only supports the MySQL with the library libmysqlclient.so.6.0.0. Please note that any other version, later or earlier of libmysqlclient.so, will cause your application to crash. This caused me a lot of hassles, and I was not alone; a quick look at the newgroups showed others with a similar problem. However, once you get past the setup difficulties, creating database applications for Linux has never been easier. Due to the nature of the Borland's database approach, it is actually possible to have a database that resides in memory only and then dump it as a binary or XML file on your local system. Borland provides components to connect to several of the major databases, particularly Oracle. It is possible to create your own database support as well.
Although an OpenGL interface is provided on a second CD and is downloadable from www.delphi-jedi.org/DelphiGraphics/index.htm, it was fairly clear that it had not been tested extensively (also indicated by the lack of comprehensive examples). I had enormous trouble getting the GLUT toolkit for OpenGL to work and eventually abandoned the effort.
One thing the Kylix team might have overlooked is that Linux programmers may want to develop a command-line program to do some background task. For these kinds of applications, one generally uses the C/C++ argc/argv parameters to obtain the command-line arguments. Although there are several possible ways of doing it inside Kylix, none of them seemed to work. I had to search the Internet before I found a fairly obscure way of copying memory to obtain the argc/argv data.
One of the major attractions of Kylix is the ability to develop applications on Linux and then port them to Windows using Delphi. Granted there are several restrictions, but if you stick to using the Kylix API set, CLX, you are on a clean porting path.
To make Kylix even more attractive to developers, several third-party extensions and tools are available, ranging from UML support to code profiling. A companion CD shipped with Kylix makes many of these available.
Kylix not only faces competition from proprietary Linux IDEs, such as SNIFF+, SlickEdit and CodeWarrior, but also from the open-source projects, mainly KDevelop, Qt Designer, KDE Studio and several others. However, none of these provides the number of components and scope of Kylix. In this area Kylix is the definite winner.
Although Kylix is an exciting product, it does cater to a certain audience: existing Delphi programmers and development teams aiming for portability of an enterprise/business application to Linux and Windows. The main problem, of course, is the Object Pascal programming language itself. It might not be enough to convince C/C++ programming shops to swap over to Kylix yet.
Borland is hoping to release a Kylix version that supports C++ at the end of this year. It may be actually possible to compile the Linux kernel with this version of Kylix (or so I have heard). Now, this is really a product to be excited about—a possible GCC killer?
Another enhancement that Borland might address in the future is support of architectures other than Intel.
- October 2014 Issue of Linux Journal: Embedded
- Encrypt Your Dog (Mutt and GPG)
- Practical Tiny Core in the Fire Service
- DevOps for Dummies
- Tech Tip: Really Simple HTTP Server with Python
- Python Scripts as a Replacement for Bash Utility Scripts
- New Products
- RSS Feeds
- Open Axiom
- Cooking with Linux - Serious Cool, Sysadmin Style!
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal