Borland offers details of Kylix, its version of Delphi for Linux.
It began with the Borland on-line Linux survey during the summer, in which over 10,000 programmers asked for a Linux version of Delphi. The next step was Borland's demonstration of a C++ command-line compiler at the Borland conference in Philadelphia -- important from the Delphi perspective because the two compilers share the same code generator. Then came the official announcement: a new Linux development environment from the company, codenamed Kylix.
Some technical details of the architecture of Kylix -- which might change before the product is actually released -- were unveiled in a recent live Delphi chat. An edited version of the chat is available on-line.
A number of Delphi programmers had asked Borland to port the development environment to Linux. And the fact that Borland is listening is a good sign. There is another interesting angle, though, to the evolution of Kylix: how will this new Delphi affect the Windows version?
Kylix should be a visual environment supporting both Object Pascal and C++ at the same time. Many programmers have asked for a merge of Delphi and C++Builder, and if this happens on the Linux platform, it might take place on the Windows platform as well.
The code compatibility between the Linux and Windows versions of Delphi will be at the VCL level, not at the API level. Instead of trying to use one of the Windows API mapping layers being implemented for Linux, Borland is trying to build a Linux version of the VCL that will be partially compatible with the Windows VCL.
Although the architecture of Kylix has not yet been finalized, there will certainly be components available for Windows only, Linux only, and both versions, according to members of the Kylix research and development team. The Linux VCL will be a subset of the Windows VCL, which will enable a programmer to target this smaller VCL to obtain good compatibility between the two platforms. The result will be a lightweight VCL that a Windows programmer might opt to use to produce simple utilities with smaller executable files. Chuck Jazdzewski, Delphi's Chief Scientist, said, "We do consider it a high priority goal to allow the porting of VCL components with a minimum of changes. Obviously, avoiding making direct Win32 calls will make porting much easier."
Of course Borland's primary concern is supporting Linux as a server-side environment, thus allowing programmers to port WebBroker CGI programs, MIDAS application servers, and the new Internet Express technology to Linux Web servers. Borland originally considered targeting the Java byte code as a way of letting Delphi programmers move at least server-side applications to non-Windows Web servers. After many tribulations, that project was abandoned in favor of this VCL approach.
Delphi's database architecture is certainly not limited to the BDE. You can use Delphi 5's ADO and InterBase direct support, as well as many third-party custom dataset components. R&D team members have mentioned support of InterBase -- already available on the Linux platform -- and MySQL. However, as no generic database engine is available on Linux, Borland is apparently also going to write a new small database engine (described both as "a new data-access layer, independent from the BDE" and "a complete BDE replacement"). Again, the result of these efforts might become available on the Windows platform as well.
The last time I remember a port of a Borland tool to a new major OS was in the C++ for OS/2 days. While developing for that platform, the company shifted its focus away from the Windows product, which was the market leader at the time. When the OS/2 product was complete, the OS was already dying away and Microsoft's Visual C++ had become the best-seller on the Windows platform. I really hope that this time Borland continues the development of the Windows versions at full speed while working on the Linux port. Of course, Borland is also gambling on Linux's growth, a strategy championed and pushed by Inprise CEO Dale Fuller. Apparently he's able to use Microsoft's money to promote Linux tools -- certainly an interesting arrangement.
I also hope that as Borland enters the Linux world (and Linux spirit), the company will provide at least a free cut-down version of Kylix. It should be freely available for universities and for open-source, non-commercial development, and possibly also bundled in some of the major Linux distributions. I wonder if something along these lines is planned for the future Corel distribution of Linux; the two companies formed a strategic alliance that "will also include a seeding strategy wherein Linux products from both companies will be jointly marketed and distributed," the announcement read.
When Borland was collapsing four years ago, Delphi saved it. Let's hope that Delphi for Linux pushes the Scott's Valley folks to new heights. I have to go now, I've got a spare computer to install Linux on.