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. 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, and parameter-name tooltips. Some users have notes the debugger is capable, but has issues with load times, IDE crashing, and conflicts with some Linux
window managers. 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. ==History==