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?
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.
In the early days, Delphi was not just a 'Pascal for Windows', but a much-faster-executing alternative to the other RAD system out there - Visual Basic. Remember how slow VB was until version 5 or 6, when it actually became compiled?
Another reason why it's so popular, is it's based on Pascal. Which is much easier for many people to program than C/C++
Borland's early C/C++ products for Windows were much faster than Microsofts as well. They did make many mistakes however (remember OWL?)
Go to http://groups.google.com/ and look for old newsgroup discussions of Visual Basic vs Delphi. Fun reading.
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 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.