Kylix in Limbo
IgD writes "Kylix, Borland's Linux port of their popular Delphi compiler has been covered on Slashdot before. LinuxWorld is reporting that Kylix development is in limbo. Many speculate this is a politically correct way of saying the project has been abandoned. There hasn't been any updates to Kylix 3.0 in well over a year. One user who attended BorCon this year wrote in his blog that Borland didn't have any updates to Kylix planned for 2004. This is really disheartening news. Why didn't Kylix sell? Does this say something about the application or about the difficulties of marketing a commercial Linux application?"
I don't know much about Delphi, but I know a good deal of Java, and it seems that the "new thing" for Linux is Java.
I'm sure there's a market for Delphi, but why not just use C or C++?
Maybe it had something to do with the 1000+ price you had to pay for the full developer version? You think?
... hello to increasing "Shareholder Value".
Oh yes, Borland has come a long way since Phillipe's idea of a full blown compiler as good (if not better) than anything on the market for 99 bucks. Gone are the days of Turbo Pascal and Turbo C
And Helloooo to you too linux you cutie...you're looking better by the minute!
----- In Your Cubicle No One Can Hear You Scream...
I've been using Kylix for about 3 months now, and I've reached the stage of considering completely abandoning Kylix and continuing with linux native C++ and Qt.
:= ''. If I
remove that line there is no problem. This is definately weird stuff.
.ico files.
I've been developing a file manager which makes use of the components below. With every component I've described issues I've found with them.
TApplication:
- Some very weird bug caused spontaneous segmentation faults during the Application.run command. I traced the cause of the segmentation fault the a line similar to Form1.Edit1.caption
TForm:
- Assigning and reading the top and left properties during form creating will give wrong results and in some cases cause the form to be put in the wrong place.
TMainMenu, TPopupMenu:
- The BeforeDrawMenuItem gets buggy if boldfaced characters are used.
TListView:
- Drag and Drop implementation is completely screwed up. Whether I use CLX OnDragStart kind of commands or code which calls Qt directly, drag and drop operations will give rise to strange mouse behavior.
- Multiselect and Drag 'n Drop is not compatible. I've had to rewrite all the mouse handling in order to be able to drag 'n drop and select items. I had to deny all mouse events to CLX in order for everything to work.
- Multiple columns and an Imagelist will cause images to be displayed in the subcolumns even if the imageindex is -1.
- OnDrawItem fails miserably. In the first place there is no direct way of knowing what column your are drawing the information for. In the second place the canvas provided to draw on stretches beyond other columns. If you drag the scrollbars the drawed data gets screwed up.
-TTreeView
The TTreeView has all the same problems as the TListView, as they both are based on Qt's QListView
-TCoolBar & TToolbar
A Ttoolbar on a TCool bar gives a wrong height property for buttons on the toolbar. A Toolbar sometimes spontaneously gives itself another position on my form. This is not reproducible and happens occasionally.
General Problems:
-The FindFirst command is very limited. Instead of providing all items available in a TStatBuf buffer it does some translation to windows which eliminates some of linux's cool aspects like symbolic links. Directories and System files are indistinguishable because of bad code in CLX.
- On my Redhat 7.2 computer using Kylix is one big Illegal Operation festival.
- On my Redhat 7.1 computer I can't use the debugger because it WILL crash after 4-9 debug cycles.
- Icon support is really bad. The kylix code is unable to decode almost all ordinary
These are just some issues which I can think of at the moment. There are more. During development of this program I've spent more than 50% of my time solving problems with Kylix. This consists of either looking for workarounds, changing CLX code, calling Qt directly, or rewriting components entirely. So many functions provided by Qt are not available in Kylix, which in some cases severely limits the functionality of the Kylix components. The only things which went well were calls which bypassed CLX or used LibC. I'm seriously considering dumping kylix and using Qt directly. I've gotten fed up with having to debug Borland's attempt at a layer between Qt and their compiler. I don't feel like waiting for Kylix version 3.0 or whatever in which they've hopefully solved all these issues. I hope someone will convince me otherwise because I believe Kylix has great potential. I've been using Delphi for some time now and I love Delphi. It has been a great disappointment to see Kylix fail.
The problem with Kylix was it's price. Borland was charing a ridiculous price for a product that albeit good wasn't worth the price. It's also hard to convince your boss (atleast in my situation) that Linux was free and came with C/C++ compilers but I had to pay for Kylix.
If they had a reasonable price perhaps it wouldn't flown but lets be realistic, it's not going to get a lot of support without having a cheap price or an open source version available.
Kylix didn't sell because it was a pile of crap. I used to do a lot of stuff with Delphi (paid lots of money to Borland too), but when I ditched Windows I felt no incentive to carry on with Kylix. I tried the Open Edition, and it wasn't a patch on Delphi. Klunky, buggy, lousy unportable code. Not worth it.
On Linux, there is a cornucopia of free programming languages and tool boxes ready to use. Why then should I use a commercial closed implementation of a proprietary non-standard language with non-standard libraries, not portable beyond merely Linux and Windows, and then only some versions of those?
I don't mind spending big bucks on good tools. After all, it is magnitudes more expensive to familairize oneself with new tools than actually buying them. But I do mind when my favourite tools suddenly become deprecated at the mere whim of a corporate - and Borland has a poor track record here.
Thus, no matter how good the performance of Kylix, and no matter how excellent and slick the IDE and libraries, I would not touch it with a ten foot pole unless I have some guarantee that I will be able to access the full source when I really need to.
Most people knowledgeable enough to develop on Linux have been burnt in the past by proprietary tools, have learnt expensive and painful lessons that way. Never more! Our freedom is too precious to sell out ever again.
GPL it! :)
I bought Kylix 3.0, and my biggest complaint with it is that it feels like a Windows program forced to run on Linux. Not just the IDE (which uses WINE to run), but the language implementation itself.
:-)
It feels like the developers have hardly used it itself, and I guess that's why it just isn't as much of a pleasure to use as (say) Turbo Pascal was.
I love having a decent pascal compiler for Linux, and I like the fact that I can recompile my code on Windows, but I keep bumping into things that just shouldn't be the way they are.
For example: I have triggered segfaults when exceeding boundaries on arrays. Excuse me? I'm using a typesafe language with bounds checking specifically enabled. I expect the program to halt on the line of code that is attempting to access an out of bounds address BEFORE said access happens. I expect all variables to be current and correct. I expect to be able to see exactly what went wrong exactly as it happened. That's one of the reasons to use pascal. I'm paying 5% overhead for that luxury, now hand it over!
The other reason to use pascal is the fast compile times, which is great.
I'm happy to have a pascal compiler with a nice IDE and neat rapid application development stuff for applications, and I use it by preference. It just feels unpolished and rough.
Oh, yeah, shipping apps sucks too - they require you to make wrappers and point LD_* things to shared libraries that you have to identify yourself. VERY MESSY and STUPID. Let me make static apps if I have to, but I get pissed off when the recommended solution for messiness is to wrap every executable I make in a script. Yuk. Not likely.
*sigh* So I guess Love/Hate it is.
Love pascal. Loved Turbo Pascal. Like Kylix. Hate icky stupid bits in Kylix.
Kylix devs should be forced to eat their dogfood. When they release a fully functional IDE written in Kylix, I will be willing to believe they have actually used it. Until then, I'll use it anyway, and occasionally rant in public.
---
When it comes to selling stuff, my old man always says "there's a lot more people with 5 bob in their pocket than 5 quid."
I like Delphi, but having to spend $1,500+ to buy it means I tend to skip versions nowadays.
I remember buying Turbo Pascal for about $90.
Perhaps Borland would sell a lot more copies of Delphi and Kylix if it was $150 instead of $1,500.
Not my area really, but I know I've got a buddy working on the Lazarus project:
http://www.lazarus.freepascal.org
Might be of some interest to some Delhpi folks.
I've done some commercial development work in Delphi. It's a great environment in Windows. It's easier and faster to write than C++, it runs faster than Visual Basic or Java, and it compiles ridiculously fast. Hundreds of thousands of lines a second! Coming from C++ that is amazing, and the execution speed is pretty comparable to C/C++. It nicely wraps the Windows API and UI development is very easy.
Unfortunately, Delphi is a marginal product on Windows (for various reasons), and Windows is the platform most software development efforts target. Move it to Linux, even if you can capture the same percentage of the development market on Linux, you now have a marginal product on a marginal operating system. Not gonna work.
An additional problem is: Linux runs on a myriad of platforms, x86, PowerPC, unix workstations, you name it. Kylix/Delphi work on x86 ONLY, so although code will be portable between windows and linux, it will never be portable to any other platform. This is a problem that would be very difficult to fix, if you look at the VCL much of it is written in x86 assembler, it will take a long time, and require much effort to port it to another platform. This portability problem further reduces the market share that Kylix could ever achieve.
And then there is the problem of price, enough other people have pointed this out, so I won't repeat them. But yeah, expensive.
Just my 2 cents.
-Spyky
Once Visual Basic came along, it really stole a lot of their thunder in terms of making it easy to write windows programs.
Actually, Visual Basic came out before Delphi did. Delphi was designed later and was for many years a better product than VB, but:
- It was based on Pascal, not C, so lots of people thought it was a toy.
- It wasn't standard Pascal, so Pascal bigots didn't like it either.
- It wasn't a Microsoft product, so people didn't think it would stay around a long time.
There were lots of other problems too: Borland financial mismanagement, MS hiring away designers, etc., but I think "Not C" and "Not Microsoft" were the big ones.
Who needs Kylix when you can write your GUIs in Python using wxWindows, GTK, or QT for FREE?
Who needs Kylix when you can write your GUIs in Perl using wxWindows, GTK, or QT for FREE?
Who needs Kylix when you can write your GUIs in C/C++ using wxWindows, GTK, or QT for FREE?
Notice a trend here? Oh, but there's more...
Linux is found on Open Source software. Why on earth would I write a program in a propietary language than costs $$$ that would be pointless to distribute to the rest of the Linux community because only *I* could compile it? Quite simply, I wouldn't. I'd write it in Java or Python because I know other Linux developers would have Java or Python.
I do not know a *SINGLE* developer who has Kylix, and I only know of one application our company uses that was written in Delphi. That application is a very specialized mortgage application and is not usefull to anybody outside the mortgage industry (and I even question it's usability inside the industry). To add insult to industry, they're planning a complete rewrite in C# for 2005.
Finally, we all know that Borland has been wishy-washy at best when it comes to their support of the Linux environment. The Interbase/Firebird fiasco is proof enough.
I wouldn't trust my money with them. They've been made irrelevant by Microsoft, SUN, *AND* Linux. They consistently and stubbornly refuse to get with the program. That's why nobody users their software anymore.
And Turbo Pascal used to be a really really damn good product. It's sad, really.
Bryan
Apple, meet Orange.
You're comparing a Win32 development tool to a Linux development tool. Now I'll pretend you know this, and debate it anyways-- with Visual Studio .NET Professional you don't just get one language, you get access to four. You get Visual C# .NET, Visual C++ .NET, Visual Basic .NET and Visual J# .NET. With Kylix all you get is Delphi (Pascal) and C++ (which I'm not entirely sure, but I think the backend uses gcc-- I may be wrong on this point though).. two languages vs. four languages in VS.
Of course the odd thing is, Kylix has an "open edition" that's free as in beer for GPL work, IIRC. It doesn't make sense that Linux developers wanting to try it out wouldn't try the OE version then pay for the retail version if they wanted to do commercial apps down the road.
Agreed, their IDE's have always been a winner with me, but their marketing skills leave loads to be desired. Just check out some of the prices at shop.borland.com vs. the prices list at shop.microsoft.com for examples of the travesty going on at Borland today. *shakes head*
All I know about Bush is I had a good job when Clinton was president.
No, maybe it's a sign when you take a Windows program and make a half-assed attempt to 'port' it using Wine, it doesn't work right, you slap broken registration code on top of that, and the bosses shout "SHIP!", hopefully over the objections of the engineers.
The failure of Kylix is just another example of the free market working, and in this case the value of Kylix to the consumer is less than zero. That's right, Borland would have to pay me quite a bit to 'switch' to Kylix for anything. And it still might not be enough, if it kept crashing unexpectedly.
But hey, YMMV; that was just my experience with it. And note that I managed to restrain myself to the point that phrases like 'flaming piece of festering monkey shit' never escaped my lips!
pb Reply or e-mail; don't vaguely moderate.
> their marketing skills leave loads to be desired
I don't think the marketing and development departments at Borland have ever met. They've had some of the best developers over the years, yet especially in the last few years their marketing and PR was filled with arrogant know-it-alls. And the hordes of apologists for whom Borland could do no wrong don't help. Microsoft may have done VB first, but Borland did it right, yet ironically it's Microsoft reaping the benefits of much of that hard work at Borland.
Yup, the problem is squarely with Delphi. It arrived too late on Linux, when there were already free IDEs of comparable quality and in much wider distribution.
1. If I want to develop a GUI app Linux, after I install Linux on a new box, I can either start developing using one or myriad tools that came with my Linux distro (QT designer, KDevelop, Anjuta etc.), or I can spend time registering for, downloading and installing Kylix. Of course I prefer what I already have, unless Kylix is much better. But it isn't.
2. If I am a small shareware or commercial developer, the price of Kylix is way too expensive.
3. How many large commercial developer port from Delphi under Windows to Linux? Few, at best.
4. Others mentioned bugs in Kylix.
5. If I develop under Linux, probably I want my app to run also on other unixes. Or on Linux, but not only x86 but also other supported platforms. But Kylix limits me to Linux x86.
So, besides a very limited and niche market of commercial GUI apps ported from Delphi/Windows to Kylix/Linux, there is no good reason to pay for Kylix on Linux. No wonder it failed.
I've been a huge fan of Delphi for years, but seeing Borland's attitude lately, and especially their PR double-speak and kowtowing to Microsoft, I think it's time to move on. They seem to be spending a lot more time dot-netting Delphi than evolving the langugage.
For native Win32 apps I still think Delphi is best, even in arrested development. But for cross-platform apps I'm very intrigued by Python and wxWindows (or wxPython). The apps seem to be truly portable, and wxWindows has such good binding to native widgets that you can create truly nice-looking and seamless GUIs. For most business-type applications I think it's a really viable option.
People didn't buy Kylix so the're dropping it, big deal it was never that good to start with. Use C++BuilderX which can cross compile to Windows, Linux x86 and Solaris x86. Kylix was never as good as Delphi and I for one would rather use C++ with VCL objects.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
I started using it right about the time that geramik came along. I finally had some unity in application appearence. After using Kylix for a while I came to the realisation that anything I wrote with it would not only look out of place among everything else on my system, but in my opinion at least - look pretty ugly. I had a program I was working on in Kylix up when a friend came over, and the first thing she said after walking by the computer was "Hey! That looks like a Windows 3.1 program!". Perhaps they've changed this behavior since then, but since finding WxWindows I havn't had any motivation to check back.
Everything will be taken away from you.
In addition using CLX means you've got to distribute DLLs with the app. Until now we've managed to avoid this. Something you don't often hear about but in our eyes a major advantage of Delphi is that for many apps the EXE is all you need - no DLL hell for support staff to worry about.
Price wasn't an issue for us: Kylix 3 came free with our copy of Delphi 7.
In Julian Smart's recent announcement of the wxwindows foundation, he noted that Borland is supporting wxwindows development and that an employee of Borland is on the Board of Directors at the foundation. This is probably behind Borland's 'neglect' of kylix--expect the next generation to support wxWindows. This doesn't sound like abandonment to me.
Yup, the problem is squarely with Delphi.
.NET. It makes you wonder if Borland is migrating from a tools vendor to simply an IDE vendor.
You've never used Kylix, have you?
I haven't had a chance to look at QT Designer or Anjuta, but KDevelop isn't a true visual (RAD) environment. Maybe I'm just spoiled, but I like being able to click on a component and drop it on my form. I'm not aware of any IDE on Linux that is as easy to use as Kylix.
Also, Kylix v3 supports both Object Pascal and C++. It is the Linux equivalents of Delphi and C++Builder.
For a shareware developer, just about any compiler is too expensive. Shareware development has odds slightly greater than the lottery. For commercial use the price is trivial. I wouldn't even mess with the Pro version, I could justify the cost of the Enterprise version in about 2 months.
It's not that Kylix was too late, it's still too early. Linux still doesn't have enough desktop penetration to support it.
But personally I wonder if Borland is having some kind of identity crisis. They have just about dropped all future Win32 support. C++Builder has been removed from their product list, C++BuilderX is the replacement. But 512meg of RAM to run your compiler??? Kylix is on life support. And even Delphi for Win32 is in doubt. Their new tools all seem to be an IDE slapped on top of Microsoft's
It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
I pity people like you who are addicted to free (as in beer) software and thereby never will get many professional grade graphics and audio applications, even games for your platform of choice.
:)
Flamebait/Troll? Nah, not really. Choice is good, and by refusing to buy available commercial software for open platforms, you make it increasingly less likely for other companies even to conscider develop anything for that platform.
Now, hit me with that laser beam.
Ceterum censeo Microsoftem esse delendam
You are off the mark my dear.
Linux users may be averse to paying software.
Companies designing products for linux or under linux are not. There it is a bang for the buck. They will pay without a second thought if the product will save the same amount of money in in-house time and/or development.
Kylix in essence is a corporate product. So there is no aversion in question.
I think that the problem with Kylix is:
1. It was both early and late. Too late for the entusiasts and too early for the companies. Companies are just starting to be interested in Linux as a client and starting to look for RAD. Till now they though of it as only a server.
2. There is a considerable dislike towards borland in the professional development community. The general consensus is that their products are not up to the mark. As a result it is usually not even shortlisted (at least this was the case where I work).
Overall, if they want to ever sell in this market they have to continue keeping the barrier to entusiasts low or near zero and continue trying to sell. They are handicapped by selling against a negative opinion, but it is their fault at the end of the day so it is up to them to deal with it.
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
Because noone shells out that kind of money for something that's arguably the _least_ mature Linux development environment. I've done lots of Delphi development and love it - elegant language, good extensions, garbage collection, nice IDE, good 3rd party components. A shame the MS tools have an unfair advantage, but that's how it goes.
I had great hope and expectations when Kylix was announced, and the good fortune to get Kylix 3 with my Delphi 7 package. But that didn't go very far. Delphi is a mature and feature-rich environment while Kylix feels dummied-down. Partly because the CLX is a subset of VCL, partly because hardly any 3rd party components exist, and partly because it's closed - that doesn't go down well on Linux. Kylix has a huge uphill battle to win - against tools that are FREE (GPL), are being developed rapidly, and have large communities around them. Alternatives like KDevelop and Qt Designer are hard to beat on their home turf - and an order of magnitude harder, the gcc.
Kylix is dependent on a revenue stream to afford future improvements, while the competition does fine without, and you start fearing that Kylix might not be around for long - another reason to stay away until it's proven itself. A chicken-egg circle.
Does this say something about the application or about the difficulties of marketing a commercial Linux application?"
Well, both. They've entered the market late with an overpriced and immature product. That's the application side of it.
The other side is that competing with mature GPL'ed products is very difficult. You're not going to win over many of the existing Linux developers, they'd have to rely on hordes of Windows people moving. That just didn't happen.
Kylix was a neat concept, but closed source development tools are (IMO) a dead end on Linux. I'm headed off to learn Qt.
I'm in a Unix state of mind.
This basicly means, you don't want to pay as long as you get the "service" from the company. That means, as long as you can USE the tool ... as long as it helps you to make profit, or have fun... you dont want to pay?
But when the product is discontinued or orphaned, you suddenly want to pay for the service? For one fixing or keeping it running? Strange.
You're missing the whole point. He's not talking about cost or money. What he's saying is that OSS products will never be orphaned as long as they have users. A proprietary product is viable only as long as the product's marketing team decides it is. I have developed in Delphi for years, and I tried Kylix 1.0 when it came out, but for professional development C++/Qt or C/Gnome are a safer choice, since there is no private product to cancel. Those who chose to go with Kylix are now stuck with orphaned code.
This whole notion of being able to orphan a product is similar to how vendor lockin is achieved... "If you can destroy a thing, you can control a thing."
.. Namely, the new Gideon coming out with KDE 3.2( KDevelop 3.0 ). It's by far the best IDE available on Linux IMO, closed OR open. You've got code-completion, integrated debugging, integrated leak checking, integrated CVS, and it all works like a snap. And if you're dveeloping KDE or QT apps with it, it integrates with QT designer so you have a visual UI editor as well. Also the new version has support for Java.
I tried Kylix before, and seriously, KDevelop royally kicks its arse. I don't know why anyone wanting a graphical linux IDE would use anything else.
Of course, there's always VI for the non-grpahical peeps.