- Kylix (software)
Kylix is a
compiler andintegrated development environment formerly sold byBorland but later discontinued. It is aLinux version of theBorland Delphi programming language andC++ Builder , which run underMicrosoft Windows . Continuing Delphi's classical Greek theme, Kylix is named for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus package, designed to be code-compatible with Delphi. Some attempts were made to get Delphi (for Windows) to cross-compile Linux applications, but they appear to be discontinued (see below).Features
Kylix supports application programming using
Object Pascal andC++ , and is particularly suited to the development ofcommand line utilities, Apache modulesFact|date=March 2007, and (especially)GUI applications, but not well suited to low-level programming, such as the development ofdevice drivers or kernel modulesFact|date=March 2007.Though it interacts poorly with many Linux
window manager s, the IDE is basically a very faithful port of Delphi 5 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'sWinForms . 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 andevent handler s with an "Object Inspector".Delphi's VCL is an
object-oriented wrapper over rawWin32 controls, that maps Win32message s andAPI s 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 ofTrolltech '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.History
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.Fact|date=March 2007 While both Delphi and Kylix run on32-bit Intel processors, Linux uses different register conventions than Windows and, of course, the executable and library file formats are different; seeDLL ,EXE , ELF for details.There were three releases of Kylix, all of which were criticized for their relatively low qualityFact|date=March 2007 . The first version, in particular, struck many users 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 modelFact|date=March 2007. However, questionable quality and a high price led to poor sales, and Kylix has apparently been abandoned: despite occasional Borland references to LinuxFact|date=March 2007 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 7.3 andMandrake 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 distributionsFact|date=March 2007 but requires some research and additional configuration (e.g. having an older version ofglibc available, and making other changes to the default environment).Fact|date=March 2007 Alternatively Lazarus, which is updated regularly, can be used.See also
*
Borland Delphi
*Free Pascal
* Lazarus
*Object Pascal
Wikimedia Foundation. 2010.