Interbase And Kylix Details From Borland/Inprise Con
"The conference opened with a "Matrix" themed intro, and there have been blue and red jellybeans all over the place. The major announcement at the intro was that JBuilder will be ported to Mac OS X, with full support for Aqua. The press release is here.
Paul Beach, Interbase VP of marketing and sales, gave a very informative talk. It's very clear that he has a clue. Many of his talking points were interchangeable with what Bob Young would say, asked similar questions. He even alluded to the tired old Heinz ketchup analogy to explain brand equity. Interbase's plan is to sell support contracts and box sets, just like the other big open source companies. Paul is very realistic and down-to-earth about what they expect to happen. I think they are going to do very well indeed.
The most startling revelation, though, was that Interbase 6.0 is done and ready to ship the manuals and CDs are duplicated and printed and sitting in boxes. He even brought a box of CDs to the talk. Reading between the lines, it seems like these CDs have been sitting around for some time. But Dale Fuller (Inprise CEO), who also showed up at the Interbase product address, will not permit the CDs to be distributed until all the contracts are signed and executed and appropriately lawyered. Dale promised, both at the opening keynote and at the Interbase talk, that the contracts would be done and the product would ship within two weeks. Here's hoping he holds himself accountable to that promise.
Many details about Kylix have been revealed. Kylix is installed on several machines in the lab, but unfortunately these machines are off the net, so you can't steal a copy (darnit). The IDE was demoed at one of the talks, but it wasn't in the lab. What was on the lab machines was the command-line Delphi compiler only. It seems quite solid. I played around with it, built some projects that displayed various forms and controls, that sort of thing. As expected, the compiler is blindingly fast, builds genuine native executables, and looks very similar to Delphi on Windows. The new class libraries, called CLX, are very nearly 100% source-compatible with the Delphi VCL. The CLX visual components are wrappers around QT, and will be available on Windows as well in Delphi 6, so if you code to CLX you will be cross-platform. Kylix builds fully compliant QT apps, with KDE-style theming and all the bells and whistles. As with all QT/KDE apps, you can run a Kylix-developed app under Gnome but it isn t seamless for purposes of theming or UI consistency.
Kylix will, of course, be closed-source, closed-process, proprietary, and will have a price notably divergent from zero. The initial release will be Delphi standard and professional, followed quite quickly by C++ standard and professional. The enterprise version of Kylix will be called "Kylix Studio" (or similar) and will include both compilers in a single SKU. Someone in the audience suggested that they do a combined SKU under Windows as well, which got a lot of applause. At the opening keynote, Dale said that a major goal for Kylix is to make it possible for developers to release their own projects under any license, including full-strength GPL. This is a worthy objective, but I'm not sure Borland truly understands the ramifications. Then again, I'm not sure I do myself. What would it mean to have a GPL project, but you have to use a proprietary compiler to build it? Presumably the compiler libraries will be proprietary, and you have to link with them if you want a usable binary. This bears thinking about.
For database access from Kylix, there's a new library called dbDirect. Or perhaps it's called dbExpress. And I think it might also be called DataCLX, or perhaps DataCLX is a superset including dbDirect plus other things. Anyway, whatever it's called, it's a new library that lets applications talk to databases in a consistent way just like the BDE. But unlike the BDE, it tries to be as 'thin' as possible, bringing the application code as close as feasible to the native database vendor APIs while still providing relatively good code portability. With the BDE, Borland has to write a complex driver for every new database they support. With dbDirect, it's a simple matter of wrapping a few vendor API calls. Application developers can mix and match calls to dbDirect with calls to native database APIs. dbDirect will also have a tiny footprint compared to the BDE, including the ability to statically link right into the application. DataCLX will be the only database API in Kylix, and will ship in Delphi 6 side by side with the traditional BDE setup.
Kylix will also include a web broker architecture, very similar to what's in Delphi 5 today. Where Delphi web modules can compile to traditional CGIs or ISAPIs, Kylix web modules will compile to traditional CGIs or Apache modules. The level of integration between Kylix and Apache is impressive. This part of things is called NetCLX and also includes the usual socket components and TCP-suite stuff like telnet, smtp, etc.
In addition to the Borland announcements, there are a few dozen vendors on the trade show floor. Big names include Sun, Caldera, Linuxcare and Cobalt. Corel is pointedly absent. And of course we have the usual gang of third-party component vendors people like TurboPower, Woll2Woll, Raize, Digial Metaphors, etc. Everyone seems to be planning to port their tools to Linux, promising release dates from a couple weeks to a couple months after Kylix ships.
The bottom line is, I'll be coming home empty-handed. No Kylix beta, no Interbase source. But I have a very strong sense that the Delphi community is gathering behind Kylix in a big way, and I'm very pleased to see Interbase poised on the verge of release. Just get those contracts signed, Dale!"
There's some FUD going on in here - we need to clear some things up.
Kylix is going to be a big help to a lot of Windows-only shops that are now looking to migrate their development to Linux. Imagine; spend a few days modifying your app, and now it works on Linux. Of course, that assumed that you haven't used any COM stuff, but there are a LOT of apps that don't. Besides, in the Windows community, database access is one of the major reasons to use COM anyways. Sounds like Kylix/Delphi 6 will have that covered with the new database library. Exciting stuff.
Second, some Slashdotters are concerned about being able to only compile stuff with non-free tools. While it is true that you will have to have a copy of Kylix to compile stuff for it, I don't really see why this is an objection: lots and lots of commercial vendors are now going to be shipping stuff for Linux. This is another way to accelerate that. Perhaps some Free Software vendors can get some good usage out of it too. Who knows. I don't understand the logic behind complaining about havign more than one compiler, as one Slashdotter did. We have more than one everything else (soon, more than one kernel even.) Competition is good, right?
On a side note, what is an SKU? I haven't heard that term before, and it's use in the article stumps me. What does it mean, especially in the author's context?
I have seen it runnin on my machine. I own a small Linux consulting company in Brasil and was invited by Borland to talk about Linux on a conference they gave for Brazilian developers. They asked me for a linux box in which they could demo Kylix, so I brought my own box. It's a PII 400 with 64 Megs. I did no scientific bechmarks on it, but the demo apps we built on Kylix compiled at least 10 times faster than the same code on their own Windows box (which was also a PII, but that's all I know about it). As a demo, we had the app up and running under Gnome while Delphi was still compiling it on the Windows side.
Unfortunately they made me uninstall Kylix before I brought the box back. No amount of pleading, cajoling or even begging would work, which is why I can't send you a pirate copy ;)
I think they probaly have a reason for not letting anybody have it, but the reason is not that they're demoing software on ridiculously overpowered CPUs or anything like that. I wouldn't call my PII ridiculously overpowered.
Also, the robust object model basically means that if a VCL object is not up to the task, create a new task, inheret and modify. No probs. There are I believe projects out there to create open source VCL replacements, so even that aint a prob.
With the gnarled exception of the compiler being closed source (Free pascal is a worthy replacement tho) I think it's majik for the linux community. Wan't a RTF word processor? Drop in a rich text component. make some save/load/print buttons. run. work. joy. The linux revolution is afoot!
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
Follow your own advice guys ;-)