Borland’s head of developer relations, David Intersimone, was preaching to the converted late last month when he demo’d the soon-to-be-released Kylix – Borland’s Pascal-based RAD (rapid application development) tool for Linux.
When asked how many of the attendees were Delphi users, 98% raised their hands. Visual Basic programmers? One brave soul. And of the traditional sort of Linux programmers there was a nary a glimpse.
Still, that’s part of Borland’s point. Borland suggests that what is holding the Linux platform back from mainstream popularity is a lack of RAD tools for the open source operating system that Windows programmers have with tools like Delphi and Visual Basic. Kylix, says Intersimone, offers Windows programmers a bridge across the divide between Windows and Linux, and will allow them to bring their skills (and their applications) to the Linux platform in droves. So what are the chances?
Well after looking at Kylix, I’d have to say that they are pretty good actually. With Delphi, Borland produced an elegant object-oriented programming tool. This was largely due to the class library – VCL (visual class library) – that underpins Delphi. The VCL contains all the visual components which allow Delphi programmers to program much of their code visually – by dragging and dropping these components and wiring them together.
Borland appears to have been able to pull off the same trick again with Kylix, underpinning it with a new cross-platform library called CLX (pronounced “clicks”). New applications using this library can be compiled without change for deployment on either Windows or Linux (on Linux GUI applications will run under either KDE or Gnome shells).
Older Delphi applications can be “ported” to use the newer CLX library. CLX will also be in Delphi 6 which is expected to ship very shortly after Kylix. According to Intersimone, the difficulty of this will depend on what VCL components have been used in the Delphi applications, and there are any direct calls to Windows API’s (application programming interfaces). Some Delphi applications may port with a simple recompile – others may take a little more work.
Not all Delphi VCL components have a direct CLX replacement, but I would estimate that around 95% of the components from the VCL are also present in the new CLX library.
One of the major changes in Kylix that Borland has had to introduce in order to provide cross-platform support is a change to the data components. In Delphi, much of the data access was handled by the BDE (Borland Database Engine). In Kylix, this has been replaced with dbExpress components, which provide native access drivers to a range of back-end databases (currently IBM DB2, Oracle 8i, MySQL and Interbase). Intersimone expects more dbExpress drivers to emerge once Kylix ships, and these will be most likely made available for download from Borland’s web site.
Kylix also introduces a range of new components for developing web-based applications using the Apache web server. These will be introduced into Delphi 6 as well.
I asked Intersimone what he thought would be the major use of Kylix. He said that many early adopters are using Kylix to port their Delphi client-server applications over to run server components on the Linux platform. This they are doing, he says, because of Linux’s stability as a server platform and its low cost. Intersimone also expects web-based server applications to be another popular area for Kylix development.
There have been some objections to Kylix from traditional Linux programmers who are used to command-line programming in C. The argument is that if Kylix is used to develop Linux operating-system utilties, these would then not be “open-source” – since they would be built using a proprietory class library. This, they argue would undermine the open philosophy of Linux. Perhaps to address this concern, Borland announced it will be releasing an “open-source” version of Kxlix in mid-2001. This will be bundled with Red Hat, TurboLinux, Mandrake and SUSE distributions of Linux.
Kylix may not appeal immediately to the Linux purists, but in a way that hardly seems to matter. Kylix programmers are likely to care less about the protests of old-school Linux programmers, and more about getting their projects built using the tools they are used to. Like internet traditionalists, the voices of Linux C programming purists may just end up being drowned out by the mob. So hopes Borland anyway.
And what is a Kylix, you ask? Apparently it's the name for a ceremonial Greek bowl. These bowls were used by the Oracle at Delphi to contain an hallucinogenic potion which the Oracle would drink before making predictions. Let’s hope Borland’s vision for their new tool is not similarly inspired.
Evans is IDG's Asia global web support centre director.