Wednesday, November 10, 2010

Critic's guide to Delphi, Exorcist Edition, part 1

Your reviewer promised to review Delphi 2009, but so much time have passed and ended-up reviewing Delphi XE edition.

Delphi XE stands for "Delphi Extreme Edition" or "XE" but it sounds more like "Delphi Exorcist Edition".

This version of Delphi is for the Delphi faithful. There is no other reason to buy it (unless you happen to be a Troll Tool vendor). This version of Delphi is simply an attempt for Embarcadero to satisfy people who brought an over-priced yearly SA subscription and expect a new upgrade during the 12-months of their subscription. The people who brought last year's Delphi edition without SA (waiting years for bug-fixes) get screwed and all the complaints start to look like insult-sword-fighting Monkey Island style.

Since Embarcadero choose to call it "XE", your reviewer found the closest matching word to be "Exorcist" so hence, "Exorcist Edition" would be in appropriate humor.

17-page Embarcadero Review
The biggest problem with the people at Embarcadero is they seem to have this bad habit of not writing down anything meaningful. Reading Ander Olsson's blog (Hacker's Corner), you would expect it to be filled with technical articles, tips, advice, excellent how-to-do things in Delphi... Instead, it is filled with job-postings, chatter and non-existent page 2.

The same goes with David Intersimone's website. It was only until a year ago your reviewer recommended putting a Wiki that the documentation wiki was written.

The only decent documentation you'd ever get about Delphi are from outsiders, like Mr. Marco Cantu, Dr. Bob, the former Delphi Magazine (UK), InfoCann Delphi Magazine (USA), blog postings and the huge Google Newsgroup archive.

There is so much misleading information on Embacardero's website that SD times managed to write a totally misleading article on next year's (or maybe 2012) version of Delphi.

There are no books written for Delphi 2011 (I could only count on Mr. Marco Cantu's Delphi 2010 handbook), just blog postings, bits and pieces of information here and there.

64-bit Delphi. When?
The development of the Delphi 64-bit edition must be very slow. Those waiting would have moved over to Visual C++/64-bits, GCC or FreePascal/64...

1) There is only just twitter feeds, and some chatter about it. The people at Embarcadero must have been so lazy or just didn't care about getting the news about Delphi/64 - there have been essentially no blog postings, no documentation primers, almost nothing about Delphi/64.

2) The people who are waiting for Delphi/64 would have conveniently moved their source-code base over to QT or WxWidget or NET or XCode.

Even the person who wrote the Delphi Distiller (a pirate application to circumvent Delphi's weak copy protection), Dr Alvin started to use QT and stopped using Delphi.


Delphi Pricing


Satirical picture showing a bearded person (guess who?), two other people in Embarcadero-black attire milking the Delphi cash-cow.

If there was anything to say about pricing, it is Embarcadero releasing a new version of Delphi every year to appease those who brought the Software Assurance. If they didn’t release a new version every year, Embarcadero would be SA-dammed by their customers.

Since this Software Assurance idea came out, it seems to be an annual affair to milk the Delphi faithful of their hard-earned money by assuring them upgrades every year. The better term for this is temple-tax or tithe since older versions of Delphi is often depicted as a temple. In order to get updates to the Delphi VCL, updates to the compiler, you had no choice but to either buy a new license or upgrade.

The price for a new version of Delphi has increased to either Euros 800 or US$800 (more like US$950 after including taxes) depending on where you live (excluding S&H and local taxes). Pricing for the most expensive edition of Delphi is around Euros 4,000. One fact has become certain – between Taxes and Death, you have to pay for Delphi and Delphi-related upgrades.

For hobbyists, the cost of Delphi and annual upgrade deters the hobbyists.

The ability to buy Delphi Professional at 10% from list price with heavy restrictions makes no sense.

The current pricing structure of annual upgrades, SA and the like, destroys the Delphi developer base.




Return on Investment: Mostly underwater.
The irony of an obese man diving underwater is not lost considering the inability to sell a copy of Delphi to dispose of assets and continual depreciation results in every copy having US$0.00 resale value. The people who buy used copies of Delphi (other than from official sources) do not get their orders honored or have future problems with Embarcadero.

For the uninformed, the way how business owners buy Delphi is by taking a cash/credit or loan. For example, some business owners take huge loans (e.g., US$50,000 loan) to start a business. Since the resale price of Delphi is US$0.00, and if the owners (and employees) within the loan-period cannot generate enough revenue to repay the initial business loan, the loan goes “underwater”.

The price of Delphi (and salary/wages to software developers) itself discourages jobs and new hiring. I would really urge Mr. David Intersimone to take the real Underwater challenge – take a big loan (preferably request for US$500,000), hire all the exert Delphi developers and develop a new product… then find yourself gnashing, swearing at every Delphi bug there is out there, missing features, bad or non-existent IntraWeb features, missing 64-bit, missing OSX support, bad documentation (and so on). Make sure all of them are properly licensed and use all-Delphi applications. Avoid Java or Visual C++ written products (like Atlissian Confluence, Eclipse, etc.) and do it for a couple of years… It would be really fun to insult and mock the customers (like the current making fun of people on newsgroups) when products doesn’t perform as expected, the inability to make a fully “built-using-Dephi” website. There are also the joys of having the bank take away everything when the business fails and falling behind payments.

Maybe Embarcadero people wearing black means sobering-up to the reality that Embarcadero need to stop selecting “good” reviews and start listening to their customers.


DelphiHater’s Roadmap is more accurate
Mr. Michael Rezlog and the hidden project manager (whose identity is hidden or not posted on the newsgroup) must be reading my blog.

Few months ago, I posted about Delphi Ultimatum (http://delphihaters.blogspot.com/2009/11/delphi-ultimatum.html) and how those suggestions were taken seriously.

Delphi XE has:

a) working memory leak checker and profiler. (Automated QA is now included)
b) build manager. (Final Builder, crippled is now included)
c) parts of GExperts and probably CNPack is now part of Delphi.
d) IPWorks (after looking at so many complaints with Indy)
e) Database driver source-code is available.

Reusing Last Year’s Promotion Materials
Your reviewer had amusing time looking at Delphi promotion material. It looks like they have been re-used from last year. You can notice all the items marked "Delphi 2010", "Delphi 2009", as it that needs to be considered.

Blackfish – More love needed
The bitter taste of former Borland, DevCo and CodeGear follies must have come one full cycle now. The latest database offering BlackFish (why not call it Jellyfish instead?) must have felt the brunt of the typical build-deploy-dump cycle that almost every Delphi developer encountered.

The first casualty is the venerable DBF and Paradox format. Borland could have fixed all the bugs in the Borland Database Engine, but decided to depreciate it instead. That left people who used DBF and Paradox that bad taste in their mouth and jump to Sybase Advantage Server. Then the same went for ADO, renamed DBGO, then left there almost untouched for almost 14 years (1997-2011) with no new features added while the original ADO layer (using 2.1) was upgraded to 2.9.

If Embarcadero wants forgiveness, it would have continued to maintain it, and make BlackFish more attractive to both developers and end-users.

Personally, your reviewer won’t use Blackfish. If I was to use something, I would want to use something that’s easy to use like Apache CouchDB, MongoDB or if the customer is a Microsoft-shop, MSSQL.


End of part 1. Part 2 will come with more technical details.

7 comments:

Oliver said...

Mike, I'm sorry to say, but 4 GB in a computer means still that not all of it can be used in 32bit Windows unless PAE is enabled (which it generally is not for consumer Windows). Usually those machines use something like 3.2 GB (at least somewhere below 4.0 GB). PAE can be enabled through some hacks, and Windows 2003 Server proves that it can be used in a 32bit OS. The limitation is due to some BIOS quirks on most motherboards and has to do with the mapping of RAM assigned to devices and the fact that there is no space to re-assign the RAM from that artificial hole to some higher address (as there is in PAE). Even with PAE the address space per application will be 4 GB of which 2 are reserved for the kernel, but the kernel itself will see the true amount of RAM and provide the mapping via PTEs.

And even then only 2 GB are available per application instance, which indeed can be a constraint as I had to see with an application I maintain. Listing TB of data with millions of files requires some excessive amount of RAM in order to keep it resident and snappy ... and if the users demand it ... ;)

But your argument seems to have another flaw from where I stand. What exactly is changing the rules if you go from Delphi (living in a sandbox provided by MS and governed my MS' rules) to C# (with .NET, also living in a sandbox provided by MS and governed my MS' rules). Am I missing something?

If you had said something similar about Unicode, I would have jumped on you and pointed out that the Unicode APIs are generally faster on the NT platform and ANSI APIs are merely wrappers around the former.

For 64bit the argument may not be as compelling. After all code can even get slower when running natively as 64bit, but that does not relieve Embarcadero at all. All kinds of addins/plugins have to run within the process that hosts them. And well, if you have a shell extension and have to run in x64 Windows Explorer you are pretty much screwed without an x64 compiler ...

Side-note: moving to gcc? People have just started to move away to more promising projects with less ideological licenses (LLVM + Clang).

Oliver said...

Thanks to Mono the power is not as unbalanced as you claim. .NET is a concept, not a particular language. This is what makes it so powerful and appealing. Sure, Java has had a similar thing going. So what, Java used to be way slow during the first years. MS learned from those issues.

Frankly, I find native apps still charming, but for different reasons.

But I absolutely agree that specializing in only one technology can be considered a trap. But that is a decision both of the school (who sometimes only teach a single technology) and the students.

Give the man a fish and he'll be fine for a day - teach him fishing and he won't starve throughout his life.

Anonymous said...

Hi,
what is the best programming language you like and why ?

Oliver said...

He is hating Delphi, or rather the makers. But he's also loving it, i.e. the tool as it used to be. Read the subtitle: "The Delphi Love-Hate affair"

It's a sentiment that many Delphians share, especially those that pay for the product and don't get it presented for free because they hold some - for the Emba marketing dept. - valuable position within the community. Note that the contributors in the forums and in the various projects are the ones keeping the community alive.

If you don't like the anarchy in the Delphi community, especially the critics, you're probably in line with Emba. I'm sure Emba is looking out for another "Führer" of the community somewhere (the other extreme compared to "anarchy", just to open your eyes to your own choice of words).

As for "Nothing is free in the end also not the hour spent by the indivdual that donates." I beg to differ. True altruism exists, but it does not feed you or your family, that's obviously right. But I may have missed your contributions to the FOSS community at a large. Mind to share?

But anyway, I'm writing here to point our reviewer to

XE Update 1 the death of DDevExtensions

Hope to read your opinion on that as well, dear reviewer.

Oliver said...

Concerning your last reply: when will you think that the situation dramatic enough to be called out as such? At the point when the few left Delphians have to shell out 5000 EUR for the Pro version?

Just curious.

Anonymous said...

Just a note about DDev, the author worked out the problem, and it's working again with XE Update 1.

Anonymous said...

delphi_64bit := TDuke_Nukem_Forever.Create();

Delphi 64bit can be considered a vaporware?