Kylix programming tool
Encyclopedia
Kylix was a compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 and integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 formerly sold by Borland
Borland
Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

 but later discontinued. It is a Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 version of the Borland Delphi
Borland Delphi
Embarcadero Delphi is an integrated development environment for console, desktop graphical, web, and mobile applications.Delphi's compilers use its own Object Pascal dialect of Pascal and generate native code for 32- and 64-bit Windows operating systems, as well as 32-bit Mac OS X and iOS...

 software development environment and C++ Builder
C++ Builder
C++Builder is a rapid application development environment, developed by Borland and owned by Embarcadero Technologies, for writing programs in the C++ programming language. C++Builder combines the Visual Component Library and IDE written in Delphi with a C++ compiler...

, which runs under Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup
Kylix (drinking cup)
A kylix is a type of wine-drinking glass with a broad relatively shallow body raised on a stem from a foot and usually with two horizontal handles disposed symmetrically...

. The closest supported equivalent to Kylix is the free Lazarus
Lazarus (software)
Lazarus is a free cross-platform IDE which provides a Delphi-like development experience for Pascal and Object Pascal developers. It is developed for, and supported by, the Free Pascal compiler. Since early 2008, Lazarus has been available for Microsoft Windows, several Linux distributions,...

 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.

Features

Kylix supports application programming using Object Pascal
Object Pascal
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...

 and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, and is particularly suited to the development of command line utilities and (especially) GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 applications, but not well suited to low-level programming, such as the development of device drivers or kernel modules
Loadable Kernel Module
In computing, a loadable kernel module is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system...

.

Though it interacts poorly with many Linux window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

s, the IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 is basically the Delphi 5 IDE running on top of Wine
Wine (software)
Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

, 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
Component Library for Cross Platform
Component Library for Cross Platform , is a cross-platform visual component-based framework for developing Microsoft Windows and Linux applications. It is developed by Borland for use in its Kylix, Delphi, and C++ Builder software development environment....

, a Linux version of Borland's VCL
Visual Component Library
VCL is a visual component-based object-oriented framework for developing Microsoft Windows applications. It was developed by Borland for use in, and tightly integrated with, its Delphi and C++Builder RAD tools...

 [Visual Component Library], which is (mostly) a component-based control library, not unlike Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

 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
Form (programming)
In component-based programming , a form is an easy way to create a GUI window. A form contains components and controls, which are a high-level representation of standard GUI widgets; it's easier to manipulate the high-level wrappers than to deal with the underlying API.At design time, visual...

, editing properties and event handlers with an "Object Inspector".

Delphi's VCL is an object-oriented wrapper over raw Win32 controls, that maps Win32 message
Message
A message in its most general meaning is an object of communication. It is a vessel which provides information. Yet, it can also be this information. Therefore, its meaning is dependent upon the context in which it is used; the term may apply to both the information and its form...

s and APIs to properties
Property (programming)
A property, in some object-oriented programming languages, is a special sort of class member, intermediate between a field and a method. Properties are read and written like fields, but property reads and writes are translated to get and set method calls...

 and events
Event-driven programming
In computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...

 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
Trolltech
Qt Development Frameworks is an Oslo, Norway-based software company best known for its Qt toolkit and application framework. Qt Development Frameworks is a wholly owned subsidiary of Nokia Corporation...

's Qt
Qt (toolkit)
Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

 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
Danny Thorpe
Danny Thorpe is Chief Software Architect at BiTKOO working on XACML based cloud scale distributed authorization and access control technologies....

 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
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 Intel processors, Linux uses different register conventions
Calling convention
In computer science, a calling convention is a scheme for how subroutines receive parameters from their caller and how they return a result; calling conventions can differ in:...

 than Windows and, of course, the executable and library file formats are different; see DLL
DLL
DLL may refer to:* Data link layer, a layer in the OSI network architecture model* Delay-locked loop, a device to reduce clock skew in digital circuits* Doubly linked list, a data structure in computer programming...

, EXE
EXE
EXE is the common filename extension denoting an executable file in the DOS, OpenVMS, Microsoft Windows, Symbian, and OS/2 operating systems....

, ELF
Executable and Linkable Format
In computing, the Executable and Linkable Format is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Application Binary Interface specification, and later in the Tool Interface Standard, it was quickly accepted among...

 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 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
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...

: Red Hat Linux
Red Hat Linux
Red Hat Linux, assembled by the company Red Hat, was a popular Linux based operating system until its discontinuation in 2004.Red Hat Linux 1.0 was released on November 3, 1994...

 7.2, SUSE Linux 7.3 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).

In 2009 Embarcadero
Embarcadero Technologies
Embarcadero Technologies is an American computer software company that develops, manufactures, licenses, and supports a wide range of products and services related to software through its various dynamic product divisions...

 posted the current Delphi and C++ Builder roadmap. As part of project Delphi "X" cross compilation for Mac and Linux is planned.

Future

Embarcadero
Embarcadero
Embarcadero may refer to:* Embarcadero , California** Embarcadero Circle, waterfront re-development project* Embarcadero , California** Embarcadero Center, office complex** Embarcadero Freeway, former California State Route 480...

 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
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 and deploy it to Linux.C++builder version will be also available.

See also

  • Borland Delphi
    Borland Delphi
    Embarcadero Delphi is an integrated development environment for console, desktop graphical, web, and mobile applications.Delphi's compilers use its own Object Pascal dialect of Pascal and generate native code for 32- and 64-bit Windows operating systems, as well as 32-bit Mac OS X and iOS...

  • Free Pascal
    Free Pascal
    Free Pascal Compiler is a free Pascal and Object Pascal compiler.In addition to its own Object Pascal dialect, Free Pascal supports, to varying degrees, the dialects of several other compilers, including those of Turbo Pascal, Delphi, and some historical Macintosh compilers...

  • Lazarus
    Lazarus (software)
    Lazarus is a free cross-platform IDE which provides a Delphi-like development experience for Pascal and Object Pascal developers. It is developed for, and supported by, the Free Pascal compiler. Since early 2008, Lazarus has been available for Microsoft Windows, several Linux distributions,...

  • Object Pascal
    Object Pascal
    Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...

  • Embarcadero Technologies
    Embarcadero Technologies
    Embarcadero Technologies is an American computer software company that develops, manufactures, licenses, and supports a wide range of products and services related to software through its various dynamic product divisions...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK