Cross compiling linux
Don't Be a Windows Muggle - Company Business and Marketing
In the mystical world of the popular Harry Potter books, the normal people of the world -- those who must struggle through life without the help of magic -- are known as "muggles." The term muggle isn't derogatory, rather it carries a certain amount of pity for the plight of nonmagical folks. In spite of the magic that Windows programmers can do using Microsoft's suite of operating systems, many of us feel a little like muggles when confronted with Linux. Tough installs, arcane commands, and a dearth of productive development environments keep many of us in our comfortable Windows world. Inprise's Borland group is trying to entice us onto new platforms using a little bit of magic called Kylix.
Kylix first came to my attention when Corel attempted to purchase Inprise. That deal was quickly scuttled following a plunge in Corel's stock value, but Kylix continued. Kylix is Borland's codename for a set of platform-independent versions of its RAD tools: Delphi and C++ Builder. While Harry Potter and his fellow wizards are trained at a secret school named Hogwarts, Kylix users are being trained in secret through a closed beta program that is filled to capacity. The fruits of the Kylix program are filtering out via white papers, user reports, screen shots, and dog-and-pony shows. The results look promising.
A wizard draws his power from incantations, a wand, or an occasional potion, but Kylix draws its power from native-code compiling. Borland is out to prove to the world that cross-platform development doesn't have to mean poor performance. Despite many promises and tens of millions of dollars in performance-related development, Sun's Java Virtual Machine has yet to deliver performance approaching that of native-code compilers. Kylix will be able to create both Linux elf-format executables and shared libraries. Kylix will also support native graphic support rather than Windows API emulation a la the Wine product. Because all of Delphi's Windows operations are performed through components rather than Win32 libraries, Borland can change the implementation of those components for new platforms without changing the programmer's interface.
CLX is a cross-platform replacement for Borland's existing visual component library (VCL). CLX creates a Visual Basic-like wrapper for graphic components, network communication, Internet operations, data access, and Borland's multitier and distributed libraries (Midas). To help provide the graphic magic, Borland licensed a cross-platform GUI library called QT. Here's where it gets interesting: If you develop in Windows using the CLX library, your programs will run natively in both Windows and Linux with only a recompilation. Porting an existing VCL program to CLX is straightforward, especially if you used VCL rather than going under the hood directly to Win32. Borland will continue to provide the VCL for Windows-only usage.
Borland's RAD products made their splash initially with database connectivity. The first Kylix release will continue that tradition, although in a reduced form. The Borland Database Engine (BDE) will not be included in Kylix initially, supplanted by the new Midas multitier approach chat became available in Delphi 4. The CLX database access mechanism can be scaled from local database access to distributed application server access by simply pointing to a different database provider object. Borland will initially support MySql, the popular Linux database, as well as its own open-source contribution: Interbase.
While the idea of easily creating desktop applications may have Linux programmers drooling, most Windows programmers are now searching for tools to easily build Internet applications. Kylix will include the NetCLX library, which makes writing Internet database applications a breeze. NetCLX -- known as WebBroker on Windows -- uses XML to shuttle data sets around the Net, while using either JavaScript or browser extensions to navigate and edit the data directly in the browser. Kylix Internet applications can be either Apache DSO libraries or CGI executables.
What will it mean if muggles like me can crank out Windows and Linux applications from the same tool? With a wave of the Kylix wand, an army of trained Linux developers will be created out of thin air. Before you can say abracadabra, thousands of existing Delphi programs will be available on Linux. One of the biggest complaints about Linux has been its lack of desktop applications. That's going to change. And while Microsoft is assuring us that the .NET common runtime is going to eventually let C# run on multiple platforms, we are still waiting on the Windows version. On the other hand, the first release of Kylix -- Pascal-only -- is slated for the end of this year, giving Inprise a big head start on Redmond. Most importantly, it assures that developers who want native code applications will have a cross-platform choice.
Eric Binary Anderson has led projects at a number of enterprise software companies and is the senior architect at IBT Financial (Bend, Ore.). an internet-based training company.
COPYRIGHT 2000 101 Communications, Inc.
COPYRIGHT 2003 Gale Group