Fog Creek Software
g
Discussion Board




Clearing the air on Delphi

One point I wanted to make about Delphi that I think is being missed.

Delphi's stated advantages (I won't go into them here) basically come with the IDE and development environment.

The shift from, say, C++ to Object Pascal itself is actually VERY low effort and by itself doesn't change the dynamics of development. The language itself isn't the point. OP has more in common with C++ than is different (except that the language overall doesn't have the expressive power of C++ with features like definable common operators nor templates.) In one afternoon a good C++ developer could learn enough OP to fumble in the dark with.

The features of the Delphi environment (quick compilation of large projects, for instance) may leverage Object Pascal's structure, such as the fact that source code modules ("units") have their interface specifications precompiled instead of being presented as text include files. But most of the productivity advantages of Delphi have to do with its unique IDE structure and the VCL.

The most effort I spent in mastering Delphi was in grokking the IDE and the VCL, which give the platform 95% of its power.  Object Pascal itself is "nothing" in comparison.

As a reasonably experienced Win API developer when I started with Delphi I would guess that it took me 4 months part time to get to the point of writing reasonable commercial quality code. Probably would have taken 2 months if it were full time.

But my point is: basically, Delphi is one big application itself with its own way of thinking about program structure, that itself takes time to master. This is one reason why the OSS community will probably never clone Delphi itself, even though there are GNU Object Pascal compilers. There's too much to replicate. It would be admirable as a technical feat but I doubt it would ever happen.

Bored Bystander
Thursday, January 29, 2004

What do Delphi, the Macintosh, OS/2, Linux and the Amiga have in common?

Just me (Sir to you)
Thursday, January 29, 2004

I know!  I know!  Delphi & Linux kick ass!
Don't know about amiga or os/2 though.


Thursday, January 29, 2004

...the OSS community will probably never clone Delphi itself..

But it won't stop 'em trying.  There actually is an attempt on the go to clone delphi, the lazarus project - http://www.lazarus.freepascal.org/

a cynic writes...
Thursday, January 29, 2004

Technical dominance doesn't always translate into market dominance?

i like i
Thursday, January 29, 2004

Woohoo, third "use Delphi" post!

Let's not spoil it by bringing up the fact that using a development tool that only has one vendor (that happens to be a rather small and not entirely stable company) is probably a bad idea regardless of the tool's technical merit!

Mister Fancypants
Thursday, January 29, 2004

Especially when said vendor seems hell-bent on putting itself out of business...

Chris Nahr
Thursday, January 29, 2004

I mean, the question remains, why is Delphi not making any inroads into the market place? In fact, lets even dump the idea, or even the EXISTENCE .net. Even before .net came along, the share, or number of people using Delphi was not exactly growing for the last few years.

If anything, Delphi has been seeing a exodus of developers.

So, we now have to conclude that all developers are dumb? Or, perhaps all developers are brainwashed by some marketing machine for not using Delphi?

Sure, ok...we got stand alone .exe. However, one feature alone does not do the trick.

And, lets be fair, as most, if not all of the non mainstream development environment have a very devoted and religious like following. Delphi is certainly one those platforms.

Why is not Delphi more popular?

And, this stuff about Delphi being  a more productive environment then VB? Says who? I don’t buy that for one second. If developers could produce more software in less time with Delphi then with VB, then Delphi would be more popular then it is now.  Likely, VB has a less steep learning curve, and gives good bang for the efforts made. Likely less effort then Delpi..

It also depends on what you are developing. If you are building a small business applications, and it is data centric, then VB, and Delphi are likely quite close. Products like ms-access are at least another 3 x better in terms out of output (compared to VB or Delphi).  That means a $12,000 project in ms-access will cost you $35,000 in VB or Delphi.

However, this cost difference will also depends on the size and type of project. And, the issue of the target market for the product. While you can use VSS with ms-access, it is not geared towards team development. It also depends on what kind of UI you are looking to build. (Delphi/VB are better then ms-access if you need a complex or custom GUI that goes beyond data forms editing). For MOST bushiness applications those ms-access forms are really good. (those access forms are a lot harder to learn and master then are VB forms anyway). I only mention the learning curve, as where the product stands in terms of difficult to learn and use is often not so clear, or cut and dry. And, talking about a GUI....try writing a game in ms-access! Duh!

Another more important issue here is the architectures of both the development process (OO, and team development issues), and the design of project (3 tier database designs is a good example).

As the project and size move up, then you start moving up the ladder in terms of what tool makes the most sense. You can’t use ms-access for 3 tiered applications for example (on the other hand, MS has released the soap tool kit for office/ms-access. And, now ms-access developer edition has been moved over to Visual Studio).

All this means that development tools overlap in terms of what they can do. However, as you move up scope and size (and project budget!), the tool of choice to use will start to change. That means the right horse for the right course.

Also, if you are looking at larger distribution, then again which tools to use will become part of the issue.

There is TONS of business that have VB developers creating software in house. However, those applications are not generally going to be distributed.

Perhaps, the position, or place in the market of where Delphi stands is the problem. Delpi is likey above VB. However, if you need more then VB, then you make the jump all the way to c++. (and now, we got .net..so this is even harder to choose Delpi).

And, while we are at this, why don’t more people use FoxPro. It is full OO, and has the ability to create stand alone .exe. And, to be fair, since FoxPro is a full OO product, I likely would place it above VB in terms of difficulty to use due to the full OO issue. (you can also make ActiveX products with Fox).

If Delphi is the slice bread that it is made to be, then why don’t more people use it? I have little, or no doubt that Delpi is good product.

As it stands now...I would bet the Delphi community is loosing people.

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn

Albert D. Kallal
Thursday, January 29, 2004

>>Especially when said vendor seems hell-bent on putting itself out of business...

One might say that the fact that borland is still in existance is a testament to the quality of some of their products.

Eric DeBois
Thursday, January 29, 2004

"If Delphi is the slice bread that it is made to be, then why don’t more people use it?"

Has market adoption ever directly tracked with technical superiority? I hardly think so. If that were the case Mozilla would have 90% of the browser market. Instead we have countless Microsoft drones clutching onto IE like their comfort blanket, attaching any number of plug-ins and jimmies to make it Mozilla-esque (after eventually acquiescing after countless claims that things like tabbed browsing wasn't important), all while praying that the latest IE exploit doesn't FUBAR their PC. Note that this isn't a slam at Microsft -- Microsoft has _chosen_ to let IE grow stale, presumably under the premise that it'll make Longhorn easier to sell (given that the majority of users are too fearful to let down their Microsoft banner, so they'll still be running IE 6 when Longhorn eventually comes out, so IE 7 or whatever will look pretty special).

Whlie there are those for whom Visual Basic really was the best choice, I largely attribute the high adoption of Visual Basic to the career programmers who simply want to be spoon fed by Microsoft.

Dennis Forbes
Thursday, January 29, 2004

<quote>
I largely attribute the high adoption of Visual Basic to the career programmers who simply want to be spoon fed by Microsoft.
</quote>

Beg to differ. I am *most* conversant with VB and am reasonably competent in a couple of other languages. Its _versatality_ is what is most appealing, more than the speed of deployment or faster learning time frames.  Churning out good software fast is easier in VB than in any other language, imo. As mentioned, yes, its mainly in house business apps and less often games, and has no uber cool new paradigm shifting approach to memory management.  But any good app made in C++ or Delphi or Python or whatever, can be done _just_as_well_ in VB. It may be more code and requires more discipline on the part of the coder (to compensate for the "spoon feeding").  Then again, food, shelter, clothing are still the primary needs of any individual. VB meets those needs pretty much the best.

Regards

KayJay

Indian Developer in India
Thursday, January 29, 2004

At the end of the day it doesn't matter why technology X is more widely adopted than technology Y, even if Y is seems to be a better solution to the objective observer.  If you're planning a long-term business, you should go with technology X anyway simply because the momentum means:

More developers to hire from.

Better third party tool support.

Lesser chance the company behind the technology will disappear, leaving you with code in an unsupported language.

Etc.


This is why I'm still using C++ when I'd really like to use Digital Mars' D language.  It is a great language, but there are a long list of reasons why I just can't bet the farm on it and none of them have to do with its technical merit.

Mister Fancypants
Thursday, January 29, 2004

If it is the Delphi libraries that are the bees knees more so than the Object Pascal, why don't they just make a C++ Delphi?  And if it plays nicely with MFC they could get some of the MFC users (of which there are still very many) to start transitioning to Delphi.

Keith Wright
Thursday, January 29, 2004

>If it is the Delphi libraries that are the bees knees more >so than the Object Pascal, why don't they just make a >C++ Delphi? 

They did. C++ Builder is the same IDE as Delphi, but you use C++ as the language. C++ Builder can even include
Delphi code in the C++ projects.

Patrik
Thursday, January 29, 2004

But C++ can't be compiled in a single pass like Object Pascal can, and therefore Delphi compiles and intellisenses a lot faster than C++ Builder.

IIRC, C++ Builder is more expensive than VC++.  Therefore, C++ Builder is in this very niche market of people who are determined to use C++ instead of Delphi and don't mind spending more money than VC++.

Richard P
Thursday, January 29, 2004

IMO, reasons why Delphi never took off:

- It's not Microsoft. Technical managements accept and generate their own FUD arguments revolving around the purported superiority and safety of MS languages.  Why? Butt covering, and laziness. I remember arguments with MS heads 6 and 7 years ago that basically amounted to: "we are precommitted to everything Microsoft just because, and we refuse to listen to anything else" as the justification.

- Exceptionally poor marketing and judgement of the market and pricing points by Borland.

- The (IMO) unwarranted "Pascal" language stigma.

- Poor results by some poor programmers. Delphi code and IDE *looks* like VB but it's really a compiled, pointer based language with voluntary, explicit (C like) memory management. I have seen heads down types crash and burn with Delphi because they refused to believe that it really would require effort and discipline to master.

- In later years, unwarranted high pricing of Delphi and C++ Builder. That is: a copy of Delphi with database features is very expensive compared to the bundled or MSDN based price of VB, but the job market for Delphi skills is bad, so there is little incentive to plunge into Delphi if you aren't committed to it yet.

- Chicken and egg effect: comparatively few shops use Delphi so there's not a lot of "reference implementations" and peers who can support this tool around the industry.

I think Delphi today would have *one* chance: Borland gets their heads out of their asses and slashes the price of the professional level Delphi to the bone (<$200) to match its market acceptance, and/or offers an attractive "twofer" bundle with Delphi and C++ Builder.

Bored Bystander
Thursday, January 29, 2004

Bored Bystander got ti right.

It doesn't matter which is better. It all boils down to one simple fact - for every Delphi job available there is 10 or more MS (VB, C++ etc. ) jobs. Even C# as new as it is aoutnumbers Delphi. Why should I limit my options by sticking with a language that hasn't captured the hearts of corporate America?

[*]
Thursday, January 29, 2004

There's about a million Delphi developers. Is that such a low number?


PS: I honestly have no idea if 1 mil developers is a lot or not.

TJ Haeser
Thursday, January 29, 2004

Oh, and due to the modifications introduced with Delphi 8, it's called Delphi Language now, not Object Pascal.

TJ Haeser
Thursday, January 29, 2004

Albert D. Call wrote
>>If anything, Delphi has been seeing a exodus of developers.

So, we now have to conclude that all developers are dumb? Or, perhaps all developers are brainwashed by some marketing machine for not using Delphi?<<

It's usually not the developers themselves that get to choose the tools they have to work with.

All I know is that when you look at small development shops (1, 2 or 3 developers) you will see Delphi much more often than any other. Simply because with Delphi's IDE, component market, and hassle-free deployment it is a much more "chewable" product for the small companies that can't afford specialists for every little niche.

The personal reason why I chose Object Pascal over C++ though, is simply because I'm slightly dyslectic and can't keep apart = from ==, nor can't cope with the strange += and ++ and brackets everywhere (grin).

Kind regards, Nils
www.simdesign.nl

Nils
Thursday, January 29, 2004

Don't forget the fact that Delphi is painful to program in. Not for the experienced Delphi developer, of course, but for a competent VB developer seeking something new and improved, coding in Delphi takes too long, is too much typing, is too cumbersome and how irritating it is to always have to change my method signatures in two places, miles apart.

Someone told me there are short cuts do do that. So be it, I didn't have the patience to find out.

VB.NET is too lame, C# was the natural choice.

Thomas Eyde
Thursday, January 29, 2004

I've looked at Delphi but it appears version 8 is .NET only -- or marketed that way -- and that scared me away. I code in C# so Delphi's main advantage would've been the lack of a humungous runtime. Apparently they are targeting a different market now.

Nate Silva
Thursday, January 29, 2004

There's a real cogent comment - "VB.net was too lame". Do you have a technical reason or is it that you don't want to be seen using a toy language.

Personally, I can't stand CaSeSenSiTIVe languages. I don't see the benefit, but do see the cost.

pdq
Thursday, January 29, 2004

I agree with Bored Bystander, except for his last point. The bird has flown. It's too late for Delphi to win now.

If they'd got their pricing and marketting right 5+ years ago, they had a chance. Now they're too far behind to ever catch up.

Sum Dum Gai
Thursday, January 29, 2004

>> Now they're too far behind to ever catch up.

I was toying with the idea that if Borland practically *gave* Delphi away, it might take off. Or not. Yeah, it's probably too late.

Bored Bystander
Thursday, January 29, 2004

A tool can be the best in its class from a technical perspective, but have a small market share because IT IS NOT TECHNICAL PEOPLE who make most software purchasing decisions.

T. Norman
Thursday, January 29, 2004

"Why should I limit my options by sticking with a language that hasn't captured the hearts of corporate America?"

Perhaps, I am stating the obvious but Visual Basic really never captured the hearts of managers inside of corporate America when it came out.  Visual Basic snuck in the back door and was able to stay there with some help from Microsoft Office (VBA) and Microsoft's scripting language (VBScript). When Delphi came out Visual Basic was already well entrenched within many businesses and schools. Market penetration wise, it is hard to say how much of a difference it would have made had Borland done a better job on marketing and pricing.

One Programmer's Opinion
Thursday, January 29, 2004

Borland is very bad at marketing.

Delphi 1 came out in 1995. It gained market share very quickly back then.

Then Java appeared with a completely free compiler and libraries.

Borland should have made some parts of Delphi free, in order to compete with Java.

I have worked with both Delphi 1.0 and Java 1.0 and the winner is clearly Delphi.

But Borland kept a high price tag for Delphi, while Microsoft lowered the price for VB and Java was absolutely free.

Max
Friday, January 30, 2004

"But Borland kept a high price tag for Delphi, while Microsoft lowered the price for VB and Java was absolutely free. "

No, that's not how it was at all.

Both Delphi and VB started out with low prices, then they stopped shooting for the low end and went for the $1000+ enterprise pricing.  At one time Delphi Standard was only ~$70, with no strings attached.  Delphi Pro was ~$500.  Then they changed Standard to Personal, disallowing any kind of commercial use, and more than doubled the price of Pro.  VB used to have a ~$500 version, but Microsoft dropped it.

The real question is why someone would pay $1000+ for Delphi in 2004 when you can get the C# Standard Edition of Visual Studio for $100, with no licensing restrictions.

Junkster
Friday, January 30, 2004

>> Both Delphi and VB started out with low prices, then they stopped shooting for the low end and went for the $1000+ enterprise pricing.

Yes. Delphi 3 & 4 cost about $250 or so for the Professional edition with a competitive or version upgrade. (all desktop database functionality included.) This, IMO, was the upper limit of acceptability of pricing for Delphi. The pricing of the enterprise editions of Delphi (~$2500 and up) is a joke since there are several middleware packages in existence that do the same things.

Borland flirted with "look at our Powerpoint presentations on CORBA" pomposity in changing their name to Inprise in the late 90s and really got off stride with their core audience. They were trying to sound big, glossy, arrogant, and suitlike, and the rest of the IT industry just didn't buy it.

Borland's pricing, image and marketing strategy in this period was like Pontiac trying to go after buyers of Lexus and BMW.

Bored Bystander
Friday, January 30, 2004

Do not forget the power of the full source of the VCL of Delphi.
When you use VB (or a .Net language) you sometimes get some total unclear errors, caused by some deep problem somewhere in the libraries of Microsoft. Our best programmers are occupied trying to program around those problems. And they do not like this kind of work, because they feel that they must concentrate on the problem of the customers, not on problems inside their tools.
Of course in Delphi these problems also occur, but you can trace inside the VCL what happens, and get a clear understanding of the problem. And in most cases without changing the VCL you know what the do.
With the 18 Mb Class library of .Net I fear that this situation will get even worse. 

Recently we changed a large VB project to Delphi, just to get a more stable system. For the original system we needed  48 months to build, the converted system (from scratch)  6 months. We did spend less on recoding in Delphi then on effort to program around VB problems. Even the interface to Excel was more stable in Delphi then in VB.

I do not suggest Delphi is 6 times as efficient, there is no difference until writing an Alpha release of a program,  but when comparing the programming effort including the final releases Delphi is the clear winner. 

But for Delphi (and also the .Net languages) you need more capable programmers.  They need to understand the Object Oriented Paradigm.  This makes it difficult to compare Delphi and VBA and disturbs comparison of Delphi and VB.

John Marland
Saturday, January 31, 2004

>> Do not forget the power of the full source of the VCL of Delphi.
>> When you use VB (or a .Net language) you sometimes get some total unclear errors, caused by some deep problem somewhere in the libraries of Microsoft.
>> ... but when comparing the programming effort including the final releases Delphi is the clear winner.
>> But for Delphi (and also the .Net languages) you need more capable programmers. 

Well said. These are things I've pointed out to MS heads in the past. This message is absolutely impossible to convey to the "brainwashed."

I think that in most cases, the kind of software projects that would benefit the most from Delphi just don't exist anymore in abundance and never were a large market force anyway. IE: rich user interfaces on workstation applications.

Bored Bystander
Saturday, January 31, 2004

"And, while we are at this, why don’t more people use FoxPro. It is full OO, and has the ability to create stand alone .exe. And, to be fair, since FoxPro is a full OO product, I likely would place it above VB in terms of difficulty to use due to the full OO issue. (you can also make ActiveX products with Fox)."

Good question with clear answer: few use foxpro (or delphi for that matter) because no one significant (like Microsoft for instance) tells them to. Big software companies always promote what is best for their income, and not what is best for developers or users. And a lot of us go with the flow, use what is "the way to go" or "modern" or promoted in big marketing campaigns. I absolutely love Foxpro because it enables me to write code faster and cheaper than my competetors, and as I've checked out Deplhi, I must say that it has some very interesting capabilities. My point is; don't use a tool because everybody does or does'nt use it, use a tool because of it's quality and capability to create added value for your customers.

frank de baere
Thursday, September 2, 2004

*  Recent Topics

*  Fog Creek Home