Delphi Renaissance
bongo69 writes "The TIOBE Programming Community Index is reporting that Delphi is experiencing a revival, this coincides with Borland recently releasing Delphi 2005 allowing users to target both win32 and .net platforms, which to some, is a welcome alternative for .net developers reluctant to use Microsoft Visual Studio or the opensource alternative SharpDevelop."
Numbers are nice, but I'd also like to know why. Does anyone know what advantages Delphi has over Visual Studio and mono products?
Throughout the years, we've seen many languages die out. It's a natural progression of technology. I can't but think this is merely an act of nostalgia. Is delphi really feasible with the countless superior languages out there, or are people using it for the same reasons they still play NES games?
Actually Delphi is still quite a popular in the UKf erre r=none&SiteID=2&MarketID=14&IndustryID=1&Mode=&Sea rch=Ind&PageNum=1&Industry=IT+%26+Internet&RankByT itle=1&JobType1=&PostedDays=7&Keywords=delphi&Sort =1&Locations=)
(http://www.cwjobs.co.uk/JS/JobResults.asp?re
It was SO FAR ahead of the field when it first came out, I actually did my first non-unix based programming on it and was very impressed. Sadly like most Borland products, while being technically superior to their rival offerings they have just never got the market share they deserved.
It's interesting to note that Novell is porting SharpDevelop to Mono.
See http://www.monodevelop.com/
Why is it so hot? Where am I going? What am I doing in this handbasket?
I used Delphi in my first programming job out of College. Initially I chuckled over the fact that it was Pascal, but eventually grew to learn and love Object Pascal.
It wasn't so much the language that made it great, it was the way the IDE, Debugger and compiler all played so nicely together. And yes, a C++ version was available as well. It was all of the ease of Visual Basic (and let's be honest, more) but without the bullshit of being stuck with some horrible language and the pain of trying to manage runtime distribution. Delphi compiled all dependencies into your binary, if you so wished. No more dll hell, at least, as far as your Delphi applications went.
It also had the relatively unheard of concept (at least in the windows world, at that time) of direct database access. You didn't have to mess with ODBC. You could write your corporate app for in-house use, and just let them change parameters in configuration screen, use them to connect to a database yourself. No freakin ODBC control panel applet to mess with. Nirvana, I tell you.
The VCL was another nice Borland item. It was their Visual Component Library (I think) and it was basically a wrapper around the standard Win32 controls/forms. Worked very well, and even made it over to linux with Kylix.
Unfortunately, Borland subscribed to the commodore school of marketing. The best place to see Borland adverts was in Borland targeted publications. The choir was already converted, but they never figured that out. That combined with typical MSFT tactics (hire away their best developers, give away competing products for a song) reduced Borland to a shell of it's former self. Now they exist by pumping out JBuilder updates every 8 months and living off that revenue gravy train.
Delphi 2005 is really good value for money. For the same price as previous Delphi releases you get C#Builder, Delphi for Win32 and Delphi for .NET all in the same IDE. And Borland have enhanced the Win32 language too, they haven't just plugged it into the new IDE. So they show that they do actually care about the rest of us that do not believe that .NET really delivers that much benefit (and quite a few negatives actually) to end users.
.NET than VB6 to VB.NET.
Unlike Microsoft, Borland doesn't believe in pushing one platform. They have no specific platform agenda. When you buy Borland tools you know you're getting something that preserves your existing investments well- be they multiple platforms or simply your existing code base. For example, it is much easier to move code from Delphi for Win32 to Delphi for
That, and all the enhancements to the IDE such as refactoring, sync-edit, and MDA developement make Delphi 2005 a winner!
The Microsoft VS C# guy started about 15 minutes late, since he couldn't figure out how to increase the font size in his IDE so that the audience could read the screens that he was demoing. He gave up on that. So, we couldn't read his screen too well, but it was no loss. He didn't get very much to work. He did show us screen after screen of inscrutable WSDL automatically generated for us, but he never got it to do 1/10th as much as the Borland guy accomplished in roughly the same time.
Maybe it would be premature to buy Borland's product based on just those two demos, but you'd have to be religiously insane to buy Microsoft's on the same evidence.
I'm using it. :-) And I've evaluated a lot of other IDEs. The nice thing about Delphi is that it supports the code-to-the-metal kind of developer and the RAD developer. You have the power and the ease-of-use, and that's not just a marketing blurb.
Maybe if they create PascalScript and merge it into OOPascal we can have both. If you don't supply a type, then a scriptish dynamic variable/object is assumed. VB allowed this (although they did it in a kind of ugly way).
Anyhow, one nice thing about Pascal's syntax is that the type and scope declarations comes *after* the variable declaration. The variable name is more important than the type, and thus easier to spot if it comes before type declarations. The giant list of types and keywords preceding the variable name has always bothered me in C-derived languages, such as Java.
I hope the next generation of languages learns this lesson and incorporates it. (Although some people prefer the types before for whatever reason, I should point out.)
Table-ized A.I.
I fear that Borland's infatuation w/ .NET may be the mistake that finally ruins them in the desktop market. They've taken Microsoft's bait and wasted huge amounts of effort producing tools targeting a platform that has no relevance on the desktop. I've spent the last year repeatedly convincing our management that we don't want to turn out .NET versions because:
.NET in addition to our "hefty" 3-4MB products); .NET apps are s-l-o-w starting up: NO advantage over Javax except the spiffy, Windows-native GUI layer; .NET IDE pretty much sucks except for being so well integrated (but it's still nowhere near as good as any Borland IDE.) There are much better IDE's, of course, but not on Windows and certainly not from Microsoft;
- It's immature, and a rapidly moving target;
- It eliminates our download market (or limits it to those willing to download 20+ MB of
-
- The VS
- It is and always will be Windows only (Mono et. al. have too much legal vulnerability to use for commercial products, and have nowhere near the features and polish needed for commercial Mac apps. Linux... well, no one _pays_ for Linux apps anyway, and we all got families.)
I agree 100%. I am not sure they would have done any better charging less, but my impression is they locked too many hobbiest out.
...Michael...
After all, that's how linux started.
They should have licensed it based on third party add-ins. For example. $100 buys you the full version of Delphi. All components, all database clases, etc.
You want to connect to Starbase? (their version of CVS) That's an extra $400. Oh you want data modeling, that's $500, etc.
This way even the hobbiest can pump out quality apps that can be used up and down the Delphi chain. Current the stanard version of Delphi is so stripped that vendors have to ship multiple versions of their product for each version of Delphi.
keep Kylix up to date with Delphi and not let it wither...
Better yet, why have Kylix, when you could just have Delphi with a Linux runtime to support the environment.
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
I used Delphi for a number of years. With it, we created really useful, truly OO design, really beautiful stuff that substantially simplified everything. As an example, we designed a GUI for industrial ink jet printers. (These printers resemble the 24 pin dot matrix printers of two decades ago in print quality, but can print at 750 ft/min from 1 inch away on the bottom of an aluminum soda can.) They have all kinds of weirdness such as text can only be 5, 7, 9, 11, 13 or 24 dots high, and vertical position must "snap" to the next available slot. Dates, serial counters and so forth are done with special control codes. I could go on and on, but suffice it to say, these are strange rangers. We made message objects with field sub-objects. When these were handed to the On-screen display stuff, they created and drew themselves with special bolderization and colors for the date (and other) fields. When they were handed to the printer, they formatted themselves appropriately and chatted merrily away through an assigned serial port.
I can hear you all saying that you can do that with any OO language, but all I can say was that everything in Delphi (or rather, most everything) just felt logical and right. I never felt I was shoe-horning or forcing things. Have you ever gone into a room and the light switch is exactly where you put out your hand, the window latch turns in the way you expect it, the desk is just the right height and you reach down to adjust the chair and your hand falls exactly on the lever? That's what Delphi felt like. God, I miss it.
As for C or C++, god-as-my-witness, C WAS MEANT AS A HIGHER LEVEL ABSTRACTION FOR ASSEMBLER! The idea of taking a wonderful, elegant assembler-abstraction language and writing a word processor in it just gives me the screaming-nightmares. It's like building a mechanical clock out of legos; amazing when done once, masochistic when done repeatedly.
And it's worth noting that Borland is stagnating in the compiler side of their world: they've so far refused to embrace AMD64 and are concentrating all their development efforts on .NET.
7 324 (sign-up required, it's free)
The Win32 compiler has only received marginal development, and barely anything in the way of improved optimizations to try to bring it up to Intel's codegen standards.
I've made the move to VC++, and unless Borland suddenly reverses course and announces an AMD64 compiler I don't see any reason to look back.
(As a sign of how little they listen to their customers, take a look at this report in their public bug/feature tracking system:
http://qc.borland.com/wc/wc.exe/details?reportid=
That's the highest rated report in their system, and they refuse to act on it.)