Borland And Troll Tech And Kylix Delphi/C/C++
nici writes: "Borland and Troll Tech(Qt+KDE anyone?) have made some sort of licensing agreement to allow Borland's new brain child Kylix to be born. It's going to be a Delphi/C/C++ compiler for Linux... complete with a GUI interface. It's supposed to be completely compatible with windows. Here's a Press Release."
Several other people noted that Dr. Bob (CT:Not Dr. Dobbs, my bad! Mustn'y post before coffee!) has some
screenshots if you're interested in what the tool actually looks like (Hint: It looks pretty sweet).
RAD tools are sorely lacking in the Linux environment and, contrary to the GCC evangelists opinions, are really needed for success in business. Delphi on windows is REALLY strong, and I'm looking forward to being able to develop utilities with the same ease for X windows. I'm a DBA, and I need the ability to be able to throw together quick and disposable apps to fulfill a single purpose. Perl is fun and all, but sometimes things simply call for a compiled binary. I'm hoping that they will include the database interface objects in this release to give me that ability (and to have a good argument for dumping my Windows 2000 desktop =P). Anyone know if any kinda db libraries are going to be included in the release? It'd be kinda cool to whip up a MySQL/Oracle/insert your favortie Linux database tool here Enterprise manager for X.
Imagination is the silver lining of Intelligence.
...And as we all know, fromt the Windows world, "Rapid Application Development" == shovelware.
Call me elitist, but I believe if any fool can write a Linux application (quickly, no less), then we can probably expect the Linux world to be flooded with lots of applications seemingly written by fools.
Fire up a Windows box one day, go to www.download.com, and start downloading and trying out random shareware applications you find and you'll soon see what I mean.
Those Linux zealots brought you Linux in the first place.
Not true. Linux zealots whine and complain about other operating systems and rave about how great Linux is. They don't do anything significant. The people making the big contributions tend to be more secure and much lower key.
I can't speak from any specific comments or commitments from Borland, but there HAS already been a port of Delphi to the Alpha processor (mainly as something to run native with Windows NT running on an Alpha box). Much of the compiler core is written in Object Pascal, as well as the IDE (which was written with Delphi), so I can't imagine that it would be particularly difficult to port to other environments.
Porting from Windows to Linux is a much bigger step than going from an i386 platform to some of the other architectures, especially if you can make sure the system calls are consistant. That is one big bonus that Linux has over the Microsoft products.
A few points:
1) There are a TON of third party data access components for Delphi, and I expect they will follow shortly for Linux. They are discussed and listed on my web site:
http://kylecordes.com
2) The idea that data aware controls are only for disposable apps is something that comes from the VB world, there that is true. However, Delphi data aware controls work extremely well and have various events, states, etc. that you might need to get the desired behavious. If you don't use data aware controls, you essentially write your own data awareness layer - why bother? The Borland layer works well, and you have the source to it (The VCL) if you are concerned about how it works.
3) Delphi is a fantastic development tool, as many others here have pointed out.
Actual, don't knock me off as a troll. I'm trying to say, why should I bother with Borland when I can use gcc/g++ and any ol' IDE (sorry about that obscure pun) that I want. I just don 't make sense. I already got dem tools
But you for you windows boys, yes now you too can write programs for Linux!
Don't knock Delphi until you have tried it and written a app with it. It's amazing. The compiler is maybe the best compiler ever written. Compile time is effectively zero. There's no link time. Object Pascal has niceties, like having single file modules instead of source + header files, that make you wonder how you ever managed with C++. You can ignore all the GUI and OOP stuff and just use Object Pascal as a straight compiler. The built-in assembler is so nice I've even used it for all-assembly programs, as it's much faster than NASM/MASM.
And all of this is really just used as the back-end for a very slick and complete GUI design package. You can click on controls and add event handlers for just about anything. It's very complete.
The killer is that everything is extremely solid and well-implemented to a level that is foreign to Linux desktop environments. gcc may be nice, but we've all had our general oddities and bizarro error messages from it. Putting a cranky GUI layout package on top of this is not the same thing. The bottom line is that Delphi is much, much stabler and slicker than what we're used to using in Linux. Ignoring it for GUI-based programs is on par with writing an OS in assembly code instead of C. Don't wear a hair shirt because this comes from Windows. Delphi will change Linux application development, no question about it.
Let's start off with one huge assumption. This thing works well, is delivered on time, generates clean code, looks and feels like the Windows Burland stuff with enough Linux enhancements to attract new users. It should also generate KDE code with deep integration down to the KOffice and Panel applet level. Ohh... and it should mostly be compatible with The Windows software.
This is a tall order but is pretty much what has been promised and Burland has a habit of delivering. Under that scenario who would use this?
1. The Veteran Open Source/Free Software developer. Maybe but only if he has a day job that requires it. His real work will still be done in a plane text editor with GDB and GCC on call.
2. The New OSS/Free developer. Not him either. He hasn't got any money and cares enough about Free software to use KDEvelop.
3. The Commercial developer with eyes on Linux. Yes. They want to deliver salable stuff quickly.
4. The Internal corporate developer ( I.e. Burland's real market ). These people will use this in disproportionately large numbers. They will port legacy apps on limited function desktops to Linux and reduce maintenance headaches. They will develop in Linux and deliver across platforms.
5. Shareware author. Burland hinted at a desire to get it's support libraries included in popular distributions. If this happens then even junior developers will be able to deliver very small applications that are still fairly complex.
Will this make money ? My guess is that Burland will achieve a clear profit on it's Linux venture before even some companies that came before. This includes Corel. However Corel may have larger overal revenue in the long run.
--= Isn't it surprising how badly I spell ?
does anyone actually use borland for large projects? i used c++b and delphi for three years, and watched the price skyrocket as they started splitting out "enterprise versions" etc.
i really liked their stuff years ago when it was like $79 for a full version, but the full versions of borland stuff are $1500 or more.
QT is $1550 for commercial work (non-open source). now add on all the borland objects, and you're gonna get a hefty price tag.
nice of all these folks to take advantage of Linus and friends, eh? esp. when you can get VC++ pro and w2k for less than QT alone.
use wxWindows or something. Free cross platform development now.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
I could write a version of gcc with essentially zero compile time. The problem is the simple implimentation would produce slow code. Gcc does a okay job of optimization (depends on the platform), and syntax checking. My version would compile minnimally correct code, with no concern for where warnings should be issued.
You're missing the point. Delphi does optimize code, and it does provide very nice warnings and errors (and even hints about things that could possibly be errors, though you can turn this off). You also get range checking for array accesses, if you want it.
Yes, it is also true that Object Pascal is a simpler language than C++. It is easier to parse, and it doesn't include lots of the bloat. But it does have really nice modern features, like exception handling, unlimited length reference-counted strings built into the language, a very nice module system, and so on. Similarly, you could say that Linux has a leaner and cleaner kernel than Windows. Is that a bad thing?
The bottom line here is that Delphi is very well-engineered. You can compile and link entire applications in the time that it takes gcc to compile one file. You can justify it any way you want to, but it is still (A) true, (B) wonderful, and (C) available right now for Windows ($99 for the personal edition).
I'm not saying you should never use C or gcc, not at all. Just that it would be a mistake to overlook such a nice tool simply because you're afraid it would be better than what you're used to.
But you are right to some degree: this draws a line in the sand. Linux was built by its users for themselves, and those folks have little use for Kylix and similar tools. Commercial use of Linux has little to do with that. So, we really have two separate communities, where the commercial community happens to be using a lot of tools developed by the open source community.
Maybe this is not a stable long term situation and the commercial community will branch off; it's up to them. But either way, traditional Linux users will continue doing what they are doing.
As for being "far far behind", I don't consider Borland's or Microsoft's tools particularly good: they are poor clones of 20 year old technology, they cause lots of software maintenance problems, and they generate user interfaces that rank low on several aspects of usability. It may be what users are used to, but it certainly isn't "good" or "new".
Ah yes, so refreshing to see more and more windows programs coming to Linux. Of course, having Delphi and C++Builder available on Linux means that even more programs can be ported to Unix. Which means more potential users.
Which means that Unix is doomed.
Every day, we get more and more of these "simple", "point-n-click" "easy-to-use" "interfaces" in programs like WordPerfect, PhotoGenics, and now Kylix. Does Unix still remain, under that pretty candy shell? Isn't this just pandering to the braindead lusers who lack the braincells to become Real Programmers? And if so, is it worth it?
Last I heard, Linux was still for elite Unix gods. So why the attempt to dumb it down? Perhaps Borland is concerned that the average programmer is getting a bit too smart. By forcing their programs to be bundled with Linux, Borland will gain covted mindshare among the "geek" demographic. With a pointy-clicky interface in front of them, the IQ of these programmers will drop, on average, 27 points, forcing them back to a life of Visual Basic programming on Windows 2000, Enterprise Edition.
It's not about yet another GUI, it's about an IDE (Integrated Development Environment).
The nicety of it is that they're planning to generate (native) Linux applications from [Borland C++ and Delphi] source originally written to run
on Windoze - we may see even more Linux ports.
This message is provided under the terms outlined at http://www.bero.org/terms.html
I will continue to use Emacs as my IDE with g++ and GNU make. I'm not being elitist---these are the tools which make my job the easiest and fastest to do.
You're missing the point. If you were to write a very GUI-heavy program for KDE or Gnome, would you still use straight g++ and something like GTK? Or would you want to use a very slick package that integrates everything like Delphi?*That's* the kind of thing that we're talking about here, not the Delphi IDE vs. Emacs.
This is one of the key pieces to the Linux puzzle that needs to be put into place for Linux to move up to the next level of acceptance. This will enable many more people to develop applications for linux, which will lead to more people using linux, which will lead to a larger market, which brings more commercial apps, which brings more people, etc...
For those of you complaining that linux is just for the l33t people, let me remind you that no one is talking about taking your precious command line away. You can still gcc to your hearts content. This just lets other people enjoy the stability of linux as well. Sorry if you feel your exclusive little club is threatened.
Of course I use Microsoft. Setting up a stable unix network is no challenge
The compiler is great indeed - but also Pascal is a language you can compile in one pass, versus several pass required for C or C++.
It is also an order of magnitude faster than compilers like Free Pascal. It is extremely well-done.
Glade does this for free, lets you design GUI without having to wrote code. And whats even better is is totally free to use, even for commercial entities. Think the URL is http://glade.pn.org/
Grab them here xyu.dhs.org
This story, about Borland's upcoming Delphi for Linux, has drawn a very clear line in the sand between introverted Linux zealots and the people who are going to move Linux forward. I see endless responses like "Bah! I can just use gcc!" and "Only fools would use a RAD environment! Real Linux programmers will keep using gcc and an Emacs-based IDE."
A fantastic--maybe the best--compiler and GUI development system is coming to Linux and we should ignore it? We should keep flogging ourselves until we remember that UNIX is The Only Way? What is happening here is that an elitist crowd with a confused agenda is suddenly being confronted with the painful truth that Linux development software is far, far behind what has been available for some other systems. This realization needs to be embraced, or we can never advance. We can only fool ourselves for so long.
And, you know, this may make Linux difficult to differentiate from Windows. But hasn't that been the plan all along? I mean, we could have been devoting energies to desktop environments that aren't re-workings of Windows, right?
Yes, we're Linux users. We wouldn't be caught dead using Visual Basic. VB programmers are braindead drooling mouth-breathing idiots who wouldn't know how to code their way out of wet tissue paper.
What's that? A Linux IDE? It looks a lot like VB?
Cool!
Save the whales. Feed the hungry. Free the mallocs.
Thus far, only one person in this thread has understood that when the poster said that the application isn't free, he meant the application doesn't preserve his freedom---and that person was moderated down! No one cares how much the program costs!
This isn't any operating system. We have principles to uphold. GNU/Linux was based on the principle that the users have the same rights to the software as the developer or vendor. This is why community development is possible. This is why Kylix isn't a good thing.
It is here to encourage us to give up what we have.
I suspect that it is a compatability mapping, there is a lot of code that expects the standard windows fonts to be around, not aliasing them you create unnecessary portability hassles.
The AC is absolutely right. Some of you people don't get it at all. :(
I would likely be better off getting the Windows tools, developing on Windows, and delivering my code on Linux using one of the free or commercial Windows compatibility libraries for Linux. For those who like that development style, MSDN is a really good deal (incidentally, I'm an MSDN member).
OTOH, those of us who don't like the Windows development style use Linux precisely because the Linux development tools are different from the Borland/Microsoft style tools. In different words, if I thought Windows was better technically or for development, I would already be using it, and so would most other Linux users, I suspect.
I'm one of the ones who got burned (actually just a bit singed) with JBuilder. The box and ads for JBuilder Professional said it had "comprehensive printed documentation" -- which I rely on greatly, despite occasional bouts of tree-killing guilt. The actual box had two slim booklets, and most of the documentation was available only on the CD. You had to buy the $1000-plus Client/Server edition to get real the books.
There was a big kerfuffle over this on the Borland support news-groups. The Borland technical staff who hung out on the support boards (mostly on their own time, I think) were amazingly sensible and helpful. Even the customer support people were helpful -- once you got past the drones who man the phone banks. They eventually shipped me the missing documentation for free. I was happy. Life went on. But when the next version of JBuilder came out, and I couldn't help noticing the ads and the box had exactly the same false claim of "comprehensive printed documentation".
Now, I was very impressed with the product. I was impressed with the documentation (once I got it). I was impressed with the technical staff and the senior customer service people I interacted with. But the disconnect between these impressive people and the polyester suits in the marketting department seems to be growing rather than shrinking. Now the marketting flaks are promising "100% Windows compatibility" for Kylix. I can imagine the techies cringing and dreading the next deluge on the support news-groups.
I'm sure Kylix will be an impressive product. But I'm afraid I'll have to wait for reviews by neutral third parties to find out what it actually does and what actually comes in the box.
Just a correction...the screen shots are from Dr. Bob not Dr Dobbs (magazine).
What good has visual programming environments provided for windows?
Lots.
Just this morning I wrote an app for my boss that lets him generate custom reports from the backend database of a proprietary program we use.
Using C++ Builder, it took me 15 minutes. I could probably have done it in Access in an hour or so. Had I used a non-visual method, and just made API calls to create the GUI, I'd say this one would have tied up the better part of the day.
Visual programming environments make the GUI design simple and let you concentrate on the actual problem you are trying to solve, instead of keeping track of the x,y coordinates of the corners of some button you're putting in a dialog box.
how many useful apps have been made with something like delphi or visual c or whatever?
Heh. Probably the vast majority of useful Windows programs were done in such an environment. Oh, you want a specific example, you say? Try VirtualDub. It's a very high quality, very useful video capture and editing program that is GPL'd and written in, you guessed it, Visual C++.
I'm reposting this since it got buried under a troll, and there is some confusion here with compatibility with regards to windows..
Bero-rh wrote
The nicety of it is that they're planning to generate (native) Linux applications from [Borland C++ and Delphi] source originally written to run on Windoze
Not quite. There is a an interview with Chuck Jazdzewski, the chief architect of Delphi that explains Kylix and how it will or will not work with current Delphi Windows source.
Specifically as far as Kylix and Windows source code compatibility he writes:
Will existing applications that don?t touch the Win32 API just recompile with Kylix? What about components inherited from TCustomXXX classes - will these work ok?
It is impossible to make a blanket statement that if you didn?t use this or did use that you will be compatible. There are too many variables. Our goal is make the porting effort to Linux easy for people who mainly use components to build applications. As for custom visual components, most will require significant changes from the component vendors. The component vendors? porting tasks will be much easier if the component writer neither subclasses Windows controls, nor handles exotic Windows messages, or if they avoid direct calls into the Windows API when a VCL equivalent is present (eg using TCanvas instead of calling GDI directly). Non-visual components, however, are much easier assuming the underlying API they are wrapping exists under Linux. A component wrapping the Berkley socket layer ports easily, but a MAPI component would not port at all.
I anticipate the biggest obstacle people will face when porting their code is not how compatible the Linux VCL is with the Windows version, but collecting an equivalent set of Linux third-party components to replace those that they have been using on Windows. Because we realise how important this is, we have started to work with our third-party vendors early to get them porting their components so our customers will have a wide selection when we ship.
---
So, at least for awhile, Delphi authors who want to work with both platforms will have to fork existing projects to get them to work with both OS's, and new projects will have to have a lot of platform-checking code.
I still can't wait until this is released.
I've heard theories that many new users are using Linux not for the ideals of {free|open source} software or even because they like Unix, but just are tired of Windows
And what's wrong with that? If it is the "freedom" that matters, we should encourage them to come over for their own good. But if you start imposing morality tests to ensure that new users think the same way you do, you have made a complete mockery of freedom.
Hmmm, if they were able to choose to abandon Windows in favor of Linux, maybe they already had freedom to begin with?
A Government Is a Body of People, Usually Notably Ungoverned
But Free Pascal is based on GCC, meaning that it can target any platform that GCC can target, I believe. How portable is Borland's compiler?
-- Ed Avis ed@membled.com
http://www.drbob42.com/kylix/hotshots.htm
Ahh yes I ubnderstand what you mean....
.c file.
But what I was meaning is that I've a terrible habit of working much more quickly when all the code is in a single
Sometimes it takes a bit longer to compile... but then again I don't recompile very often
I want to be the first to pedantically point out that this is not going to be a compiler, but rather a Develpment Environment, or, as Borland puts it, a "Rapid Application Development (RAD) development tool".
-Jan
-- "Tradition is the illusion of permanence."
At least that's what I thought when i read the name at first...
a Bit Like E-Music, which makes me think of music that you have to take E to like. After enough MDMA most people would dance to a car alarm and enjoy it.
Damn So much for staying on topic.
But seriously, How many people feel that their programming would benefit from an IDE to help them keep track of variables and function names. I grwew up with assembly language and can't get my head around these environments which can end up second guessing the user. If I can't keep te whole of a project in my head I tend to get bored with it. That's the way i've always been...
Personally - I wish I didn't need to write makefiles.
;-)
Personally I reckon databound controls suck for anything except quick disposable utilities, but there's big demand for such things in corporate circles - people forget that the S Q L spinning around Athena's head back in 1995 signified one of the major reasons for Delphi's success: it is dynamite for GUI intensive database apps. Delphi's visual IDE is far more productive than C++, and it's ObjectPascal language and blazing fast compiler are vastly superior to interpreted script for performance and maintainability.
Delphi and C++Builder aren't for everyone or everything, but for those like me who find that GUI design and error handling end up being 90% of their code, Delphi's productive form design environment, extensible GUI component library, RTTI/exception support and blinding compiler speed provide exactly the solutions I missed when having to use C++ (which I really like too, but not for GUI-heavy applications).
i386 initially at least, but they have hinted that they are looking at other platforms and/or other *nix's.
-- CP
If you don't know what's going to be so cool about Kylix, here's an explanation from the author of "Delphi in a nutshell".
--
"Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
good has visual programming environments provided for windows?
Well, giving people who wouldn't otherwise be bothered to code something the impetus to do it afterall - since it takes a hell of a lot less time using Delphi than direct API calls, you're more likely to start that program. And while you will get a lot of half-baked programs from "weenies" you'll also get quality programs that wouldn't have otherwise been written.
This is not an obnoxious question, I'm actually just making through now as an intern, and can get my jobs done faster by just using a commmand line anyways.
What kind of program though? Sure I wouldn't use Delphi for anything non-GUI based, but you can knock out a useful mini-application in quarter of an hour with Delphi once you're used to it.
The Linux solution to a graphical environment as far as I'm concerend is something along the lines of TCL/TK. Just put a wrapper around some decent code that already exists.
What do you think the VCL is? It's a framework which is going to be based around the underlying GUI, wrapping it up in a consistent and useful way. And the VCL framework is a real pleasure to use, especially after most GUI frameworks (especially MFC, ugh).
I'm into systems progamming, but how many, really, how many useful apps have been made with something like delphi or visual c or whatever?
Loads, Goldwave is one which someone mentions above, a good soundwave editor with a lot of useful tools, I've used it a lot when doing music. Lots of companies use Delphi - I'm here at work using it at the moment :) You'd be suprised how many people use it - I know here in the UK Delphi 3 has been out on magazine cover discs for free.
Have you ever used it yourself? If not, I really suggest you try it with an open mind. Delphi is a great tool, and what platform it runs on should be irrelevent.
I guess this means that Tradewars 2002 will be ported to linux then... i was written in borland turbo pascal, and the current owner of the code said that he would port it over as delphi was available for linux.
BlackNova Traders
[SARCASM]
It does already!!
You can compile programs that will run on Windows 95, Windows 98, Windows NT 4.0, and Windows 2000. And for a marginal fee you can even get it to compile for Windows CE/Pocket PC!!!
( gotta love Microsoft for so many options!!! )
[/SARCASM]
Cheers =)
Tenement
--
I bet you drive a free car - using free gas. You probably grow your own food because who would pay for food ?
Just MS is expensive doesn't mean everything good is free. Sometimes you have to pay for something good. And Delphi is REALLY good - defenitely worth whatever price Borland will charge for it !
I'm pretty happy simply because I've been hoping for a Goldwave port to Linux. I contacted the author a couple weeks ago and he said that the Linux port was largely dependent on the Kylix project. Goldwave is a lightweight
Hopefully this will lead to a lot more Linux ports by other authors. Kylix is good for Linux.
numb
Trust me, there's enough of it already. Start clicking on random things on freshmeat and you'll see what I mean. Yeah, there's lots of good stuff, but OTOH there's a lot of bad stuff too.
Of course. Sturgeon's Law: Ninety percent of everything is crap.
Linux has been above the curve for some time now; I don't think we can expect it to stay there forever. Fortunately, the really good Open Source/Free Software that is out there now will still be out there when the signal-to-noise ratio drops.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
Why ? simple : Delphi is much (several order of magnitude) better than any other available solution to design programs with GUI for Linux. I'm not saying gcc or whatever is not good - I'm saying that if you app is 90% GUI and 10% logic (like any user-friendly app should be), then it is a pain to do it with current tool, and a breeze to do it with Delphi.
I would completely agree with you - accept that from the screenshot I saw it appears the widget used by Kylix are the same is the one on Delphi/Windows. This would make porting Delphi apps a simple matter of recompiling (and rewriting low-level system stuff if you've got any)