||This article needs additional citations for verification. (March 2007)|
|Developer(s)||Borland, Embarcadero Technologies|
Kylix was a compiler and integrated development environment formerly sold by Borland but later discontinued. It is a Linux version of the Borland Delphi software development environment and C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus package, designed to be code-compatible with Delphi. As of 2010 the project has been resurrected in the form of Delphi cross compiler for Mac and Linux as shown in the Embarcadero's Delphi and C++ Builder roadmap.
Kylix supports application programming using Object Pascal and C++, and is particularly suited to the development of command line utilities and (especially) GUI applications, but not well suited to low-level programming, such as the development of device drivers or kernel modules.
Though it interacts poorly with many Linux window managers, the IDE is basically the Delphi 5 IDE running on top of Wine, with a fast native code compiler, and tools for code navigation, auto-completion, parameter-name tooltips, and so on. The debugger is capable, but very slow to load, and can crash the whole IDE.
Kylix features CLX, a Linux version of Borland's VCL [Visual Component Library], which is (mostly) a component-based control library, not unlike Visual Basic or .NET's WinForms. Like other component-oriented libraries, CLX contains both visual components (such as buttons and panels) and non-visual components (such as timers). The IDE makes it easy to select components and place them on a form, editing properties and event handlers with an "Object Inspector".
Delphi's VCL is an object-oriented wrapper over raw Win32 controls, that maps Win32 messages and APIs to properties and events and is thus significantly easier to use than the raw API. As such, VCL is tightly bound to Windows, and Kylix's CLX is built on top of Trolltech's Qt library. CLX is not 100% compatible with VCL, and most Delphi programs require some effort to port to Kylix, even if they stick to the Borland libraries and avoid any direct OS calls. However, Qt is a portable library and, starting with Delphi 6, Borland provided CLX on Windows as well, providing a measure of back-portability.
Danny Thorpe seems to have been largely responsible for getting Borland to fund a Linux version of Delphi, and he did a lot of the work necessary to make the Delphi compiler produce Linux executables. While both Delphi and Kylix run on 32-bit Intel processors, Linux uses different register conventions than Windows and, of course, the executable and library file formats are different; see DLL, EXE, ELF for details.
There were three releases of Kylix, all of which were criticized for their relatively low quality . The first version, in particular, struck many users[who?] as a beta-quality product which should never have been released. Versions 2 and 3 included bug fixes, and ported the remaining "enterprise" and C++ Builder features of the Delphi 5 model. However, questionable quality and a high price led to poor sales, and Kylix has apparently been abandoned: despite occasional Borland references to Linux there has been no indication that another Kylix version is forthcoming. There is no upgrade path to Delphi 2005 nor Delphi 2006, and neither seems to include support for CLX. Furthermore, the last release of Kylix ran under now outdated versions of Linux: Red Hat Linux 7.2, SUSE Linux [Pro.] 8.0 [Kylix, ver. 2-29, Mon Mar 25 20:01:01 2002] and Mandrake Linux 8.2. With some tweaking, it is possible to run Kylix on Slackware Linux 8.x and 9.x. Kylix will run under more recent Linux distributions but requires some research and additional configuration (e.g. having an older version of glibc available, and making other changes to the default environment).
Embarcadero is planning to release a new version of Kylix (Without backward compatibility). But it will not hold a special name (Kylix), It will be a part of Delphi (and C++builder) where you can code and compile in Delphi Windows IDE and deploy it to Linux. C++builder version will be also available.