Prepare for Kylix: The Compiler and RTL
Borland/Inprise Web site has this article about Kylix - the Compiler and the RTL - what's going on, what will be in the Linux version, what's in and out. Developers who are planning to port applications from Windows to Linux (and vice versa?) would love this article. You may also want to take a look here if you don't know much about Kylix.
The best part of the whole thing is what they said when asked about being "compatible" with all the different Linux distributions. The answer amounted to the following ( not an exact quote but pretty much the meaning is intact ).
[metaquote]
"We will test on a couple of popular distribs and tell customers to use that and it WILL work. It's no different from testing a Win32 application because technically there are several different Win32 OS out there that are not compatible."
"One nice advantage of Linux is that we can negotiate to have our Runtimes distributed with the OS so that a developer on Linux will be able to send just the 50K file with his software on it to customers. we tried to make arrangements like this with MS and it didn't work."
[/metaquote].
I think our Free Development tools are entrenched enough that new closed and commercial tools like this will serve to widen the overall number of people developing for Linux rather than reduce the number of users on the GPLed tools. There is very little by way of core apps that hasn't already tied itself to Open Source tools anyway so who cares what the latest toys or custom business apps use? Running on Linux is good enough.
--= Isn't it surprising how badly I spell ?
Yes it is. On the other hand dealing with inflexable make replacments in large or small enviroments is also a pain.
For example in my current "big" project I have ".t" files that are written in a language a perl script turns into .l++ files, which lex turns into .cc files. Make came with a built in rule to do the .l++ to .cc step, but I provided the .t to .l++ rule. If make hadn't let me do that I would have to run something else before each make, worse yet before each of some kinds of makes, but not others.
Example#2, in a recent "small" project I did to learn Java I wanted a yacc and lex like replacment. I found a few, but then I discovered neither of the IDEs I hade bought (CodeWarrier for Java, which was mostly crap, and Symentatec Visual Mumble-Mumble Java/Cafe/something which would be cool if it didn't crash a lot) support turning ".cup" files into ".java" files. CodeWarrier at least has a make I can decipher, but it seems to re-write that file and have no provisions for perminent changes. The tech support was unhelpful. Symentec didn't appear to have even that much. Again tech support was unhelpful. Neither integrated enviroments seemed to let me "integrate" anything else into them (be it a pre-parser, or a more vi like editor).
Eventually I stopped using the windows IDE and started using command line Unix tools, despite the fact that they were far slower. Despite the fact that the debugger Sun's JDK came with was really really primitave (GUI debuggers have some really nice advantages). The flexability of the enviroment was much better. My mussle memory (editor afinity) could be catered too. It didn't blow up every few hours, and damamge the OS.
All that said, I'm happy that borland is bringing this product to Linux. Some people will like what it provides more then the flexability of a tradtional Unix dev enviroment. Plus there is a lot of software written in it's language that can now be ported to Linux, some with very little effort. I just may have no dirrect use for it. (then again I may -- I'm a language junkie, and it's almost time to learn a new one...)
Ahh yes that was the first language I learned
and the first software package that I bought (instead of borrowed). It is great that borland is doing this I can now use a borland pascal on linux. Gotta love it
http://theotherside.com/dvd/
Don't flatter yourself. You're no MEEPT!!
MEEPT!! was decidedly on-topic in a very off-topic way. (S)he managed to play Devil's advocate in a manner that irritated many GNU or Linux Zealots, and he never was direct about it.
MEEPT!! communicated entirely in dadaistic yet insightful koans. Whereas $GRITSPOST is simply comic relief.
Three Step Plan:
1. Take over the world.
2. Get a lot of cookies.
3. Eat the cookies.
I don't want a "Decent desktop experience." This isn't sex. I want to get my work done, with a minimum amount of effort and ambiguity as to the means and the result. Most folks are like that. They'll learn a few apps that are core to the tasks they want to perform, and who cares about the rest.
It's the apps, friend, not some imaginary purity of GUI essence. And Delphi is all about creating serviceable apps with reasonable GUI's, quickly and reliably.
That's why this is a very, very good thing.
As for actually using the desktop effectively, neither MS Windows, Mac, or Unices have yet to achieve, much less surpass, what was developed at PARC two decades ago. Lots more eye candy, of course, with functionless, brain-numbing animations and 3D and color. But it's still click, click, drag, de-click.
So I agree with you that "desktop experience" has a long way to go. (Why can't I just draw on my desktop and tell it to "take things like this and combine them with that and perform this and that and then put them there"? The command line lives on because desktops are so poor at exploiting natural visual metaphors.)
But that's not the point.
What I object to is Borland's implication that Emacs and GNU C/C++ don't represent professional tools. Think about it this way:
If we allow companies like Borland to redefine "professionalism" in terms of their GUI and RAD products, I think we are lowering our standards. I have no objection to their products being called "useful" and "professional", but the gold standard of skill to me is still that a programmer is comfortable and productive without all that handholding. That kind of "under the covers" understanding is important even if you spend all your time in VC++ or Borland, because the debuggers and GUI builders in those tools simply aren't getting the job done some of the time.
Not every professional programmer needs to achieve proficiency in vi, Emacs, and command line tools, but more ought to aspire to it. And appreciating those tools as professional and worthy of mastery is the first step towards that.
Emacs, GNU C/C++, etc are 'mainstream' for the Linux/Unix crowd. However, if you ask a current developer of exclusively MS Windows apps what Emacs is, s/he's likely to respond "Um... some sort of Apple Internet appliance?"
The article was geared towards folks who DON'T develop on Linux/Unix environments - as in the people currently using Delphi for Windows. To them, there is no mainstream professional development tools from the companies they're used to dealing with. That's why it compared the currently shipping Delphi for Windows product to the planned Kylix for Linux product.
Calm down, take a walk, try decaf!
I AM, therefore I THINK!
Here is a question though: Is it like other Pascal orriented toolkits I've used that are clunky to use from C/C++ because of the differences between calling conventions and data types? I mean things like converting from C style null terminated strings to Pascal delimited length strings is an inconvenience. It would be a lot better if they have already wrapped things in a layer to make things like that more transparent, although that adds in some extra overhead.
I actually used the first Turbo Pascal, v1.0. And it was amazing at the time. Imagine! Doing a complete edit-compile-run cycle in just a few seconds!
Ah yes, I remember then. I was working in the UCSD lab with UCSD Pascal. Since we "knew" that UCSD Pascal was the best pascal, and since we were working in the very lab that produced it, we considered ourselves on top of the world and in the company of giants. We also considered UCSD Pascal to be fast despite its reliance on p-code (it was ahead of its time).
Then one of the proctors came in and said "you guys need to look at this". He pulled out a floppy with Turbo Pascal 1.0 and we loaded it up. Up came a simple editor and we typed in a typical standard Pascal program.
Then we started the compile. And it was done. That fast. We were stunned. Even though some of that speed arose from it compiling to memory instead of floppy, it was still SEVERAL orders of magnitude faster that ANY compiler we had ever seen. We ended up playing with it all day, and never lost our amazement.
A Government Is a Body of People, Usually Notably Ungoverned
The amount of waffle on Borland's website about Kylix is remarkable.
Kylix is a project to develop Linux tools. It is not a product. Furthermore, it is not done. Things can and will change. So, anything Borland had to say would be pure vaporware at this point. I respect them for not going the Microsoft route and talking about things before they are ready.
This Borland-waffle applies to their help files too. Their website has jack shit, if it weren't for all the private fan sites there would be no online help (unlike MS's several terabytes of documentation on MSDN).
In my own, personal experience, I have found Borland's help files to be pretty good, and certainly worlds better then Microsoft's. Sure, MS has more volume, but the signal-to-noise ratio sucks. Plus, Borland provides source for their runtimes and a full language definition for Object Pascal in the box. No chance of that for MS Visual Basic!
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
It's a GPL'd Pascal compiler for Linux x86 (and Win32 and OS/2 and...) that is very compatible with Borland Pascal and Delphi - but it's command line only at the moment.
A frontend for visual development is being created with the Lazarus project.
Visit www.freepascal.org and support the developers! They're trying to port FP to other platforms than x86 to make a tool that is not only available on the strategically important systems... Not that this is wrong, Borland has to make money of it!
-----------
"You can't shake the Devil's hand and say you're only kidding."
I for one plan on buying this thing the day it hits the market. If I can write an application then both OSes could benefit (if my app was worth a crap that is). Also as a developer it would open up my market. I can attempt to sell to more people.
War is necrophilia.
The choice of programming tools has no effect on the GPL. You can write GPLed code in Delphi or VB right now.
War is necrophilia.
Right now I can not think of anything equavalent to VCLs in the linux world (well beans maybe). IMHO it was the VBX/ActiveX/VCL that made it possible for "ordinary" people to write windows applications that actually did something useful. By adding a component driven application architecture into linux Borland is ushering an new age of linux developement. Now you don't have to be a C guru to write a decent app. Also if database access is simple like Delphi expect this thing to take off big time. I can't wait!
War is necrophilia.
I haven't used Delphi in years, and never really used any of Borland's other products, so I read this article on a whim, just to keep up to date, and boy, am I glad I did. This is exactly the kind of article that we need more of -- no marketing hype, no pandering drivel, just straight-forward, honest-to-goodness details. I like it. Good work, Borland.
Cthulhu for President!
(darren)
Linux users are more used to having tons of different software out there to do any particular task (seen all the CD players on Freshmeat, for example?), so I don't think that an influx of new software, even software ported from Delphi on Windows, is going to have a real impact on the average Linux user's life. Let me rephrase -- the applications themselves will most likely be welcomed and probably get used quite a bit, but the flood of ported apps will not, in itself, be a problem.
The same thing can be said from the Windows users point of view -- how many windows users need or want many of the tools that are available on Linux? Many of the tools already have Windows equivalents; I can't think of any major tools (or classes of tools) that do not already exist on the Windows platforms, so, once again, Windows users will mainly gain choice. Which is a good thing -- inevitably a windows user will find a great tool that has been ported from Linux to Windows, become curious about it, and learn about Linux that way.
darren
Cthulhu for President!
(darren)
Delphi is pretty good at hiding all the diferences. You can specify a range of different calling conventions if you need them. Most data types have a direct equivalent and you can probably find a stack of free tools to do header conversions and suchlike.
Also, Delphi strings are slightly different from the old pascal-style strings - They are basically reference counted null-terminated strings that can be passed to C/C++ functions just fine.
I think a lot of the C/C++ compatibility resulted in the first place from Delphi having to be compatible with all of the Windows APIs. Delphi is pretty far removed from the original Pascal langauge both beacuse of this and a lot of programmer productivity enhancements.
Don't complain until Britney Spears releases Brinux with the marketing campaign, "Boot me baby one more time"...
This sounds like a fine tool and it is great that established companies like Borland are supportin Linux but before we get over-excited, it's worth thinking about whether it really helps address the 'Decent desktop experience on the Free Unices' problem.
For one thing, the desktop environment efforts on Linux/xBSD are already fragmented and seemingly non-directed. From the user's point of view, both KDE and GNOME are sluggish, ugly Windows knockoffs. For developers, they are Yet Another Set of Toolkits/Component Models/APIs based on inelegant, obtuse cruft such as X11, C++, CORBA... Do we really need, say, another Qt and associated flamewars?
The more fundamental problem seems to be a sort of conceptual tunnel vision that the major desktop development efforts on Linux seem to share. Perhaps this has to do with the perceived need to 'catch up' with existing popular desktop environments. This may be because few Unix-based desktop environments have been considered something worthy of aspiring to - a problem that doesn't exist on the server side. But even if we imagined KDE or GNOME developed to the point of reasonable stability and responsiveness, what will we have? A toolbar, a start button, a file explorer, a nice desktop water rippling effect, a bunch of un-navigable control panels, endless hierarchal menus, artsy and unreadable 'themes', at best, _parity_ with the painful experience of other desktop environments. Is this really as good as it gets? Will these desktops engender the kind of attachment graphics designers have for their Macs and webmasters have for their ultra-tweaked install of Apache? Will propellerheads and grandmas flock to them, recognizing them as the easiest, most intuitive, powerful ways to interact with a computer? If not, how valuable is it to have another set of tools that help us get there faster?
-pvg
I, for one, find these kinds of statements by Borland insulting. Linux has "mainstream professional development tools" (Emacs, GNU C/C++, etc.). Those are the kinds of tools professional developers have been using for decades, before PCs or Borland were even around.
It's not all that different from cameras: lots of people use point-and-shoot cameras for all sorts of business applications, but the true "professional" cameras are still the Nikon F4's and Hasselblads, clunky and slow by consumer standards, but they get the job done in the hands of the professionals.
Maybe Borland and Microsoft tools have grown up to be professional tools in their own right, for their own market niche (just like there are a lot of high-tech "professional cameras" now, not just manual ones). And they may get some following once more application developers move from Windows to Linux. But I haven't been holding my breath for those kinds of tools on Linux, and I doubt many current Linux developers have either.
For Windows, first there was MFC (Microsoft Foundation Classes). Horrible, horrible, hacks, but the MFC DLLs ship with every Windows machine. Then Visual BASIC and Delphi came along and have generally been battling it out, with VB getting more attention.
Now Borland has a good chance of getting their libraries to ship with many Linux distributions. The result is that you can write pretty flashy UI-oriented applications and distribute them as teeny-tiny executables. Yeah, I know all about Tk and GTK and such, but Borland's stuff is much nicer. All of a sudden, Linux is going to have very nice GUI apps. Borland tech is very good; they may not be crazy hippies, but they're infinitely better than Microsoft.
Additionally, Object Pascal is a bang-up development language, even without the RAD tools. You have much less muss and fuss than C++, and the compile times for even large projects on any halfway decent machine are effectively zero. It makes gcc seem like a total 1970s dog. I'm hoping Borland will give away the command line OP tools like they have with their C compiler. I'd switch to OP for all low-level development in a second. (Strangley, many of the features of Pascal that C programmers hated back in the C/Pascal wars of 15 years ago are now in C++, most notably VAR parameters (C++ references) and function prototypes.)
From this page cached on Google:
Project Kylix is currently planned to be a Linux component based development environment for two-way visual development of graphical user interface (GUI), Internet, database, and server applications. Plans are for Project Kylix to be powered by a new high-speed native C/C++/Delphi compiler for Linux and will implement a Linux version of the Borland VCL (Visual Component Library) architecture. The Borland VCL for Linux will be designed to radically speed native Linux application development and simplify the porting of Delphi and C++Builder applications between Windows and Linux.
The Project Kylix design was heavily influenced by the results from the Borland Linux Developer Survey, conducted in July 1999, which generated over 24,000 unique survey submissions. The results of the survey indicate that developers are seeking RAD, database enablement, and GUI design - all strong evidence that Linux is ready for mainstream professional application development. The Project Kylix development environment is planned to support major Linux distributions including Red Hat Linux and the forthcoming Corel LINUX.
Time gone by, and Borland grew. At some time in the past they had a fairly broad line of compilers: Pascal, C, Basic, Assembler, and even Prolog! Now it's funny to think about the relation between developers and Borland at that time. A lot of developers loved Borland. They had it - fast compilers, support for several programming languages, passable editors and good libraries. Then came Windows.
I'm not sure how taht happened, but in a few months Borland lost all its momentum. And Microsoft got it right. And that was not only because of MS tactics, but MS got it right in several senses:
Years later, Delphi (and BC++) saved Borland from bankrupt. In my opinion Delphi is another amazing feat. They got everything that was right in the VB concept, and added their own spice. Popularity grew once again. However, all of this was not sufficient to make them a viable alternative to the now gigantic MS monopoly.
Now we have a Linux version of the works. And I think that Borland can make it happen again. They know how to make it, as shown with Delphi. And I think that their entry will start a flow of activity in the Linux marketplace as not seen before. Let's face it - for a large commecial project, getting all those makefiles and dependencies right is a pain. Also most of the technical factors that were against Borland effort on the Windows market dont exist at all in Linux (see the hidden APIs). It's just a matter of getting it right once again. Given that, I think that they will have a very bright future, while helping Linux to lift one more restriction to win market share in the business side.
I've been using Delphi since version 1.0 and I can't, make that won't, imagine myself using anything else because it simply doesn't make economic sense in terms of prototype deployment, time to market, etc. I'm not entirely certain the average slashdot head truly comprehends how powerful Delphi exactly is, and how easy and mildly idiot proof it makes developing.
With Kylix will come quite a few Windows developers excited to provide their products for both OS's; but is Joe Blow linux guy prepared for the intrusion of Windows application economics and is John Doe Windows developer prepared for the linux market?
Ironically there is another article on Slashdot regarding MIDI sequencers and audio editing software; which happens to be the two things I've developed in Delphi and am dying to get to Linux as soon as I have kylix in hand. I know several other Delphi developers that feel the same way. I honestly believe that with the release of kylix will come a serious change in the Linux landscape; and are people prepared for that?
- the sinister mister earache.
here instead of wherever the main article was pointing.
Short summary sentance from the page:
Kylix is a "Linux component based development environment for two-way visual development of graphical user interface (GUI), Internet, database, and server applications."
"There is more worth loving than we have strength to love." - Brian Jay Stanley