Fog Creek Software
Discussion Board




Why isn't Delphi more popular?

Everybody I know who has developed with it says great things about it.  It's object-oriented, decent performance, cross-platform (Windows+Linux), good for building GUI applications, doesn't require end-users to have a licensed runtime environment, and a lot of other good stuff.  But in terms of market share, it's still far behind other popular languages like VB, Visual C++, and Java.

What's the deal why it isn't more popular?  Have you used it yourself?  What do you find good about it?  What's the bad?

T. Norman
Thursday, May 08, 2003

Probably the single largest factor is: Microsoft didn't write it. Seriously, except for Java, what other development tool on Windows has even dented the market in the last decade? There used to be a lot of competition, including Borland with superior products and larger market shares (back in the DOS days), but Microsoft owns the space now.

Microsoft treats their developers very well, product activation aside. :-p

Brad Wilson (dotnetguy.techieswithcats.com)
Thursday, May 08, 2003

The first time I was exposed to Delphi (downloaded an evaluation), I was blown away.  I thought it was amazing and didn't understand why everything wasn't written using it (or C++ Builder). 

It wasn't long before I started running into way too many limitations.  There are simple little annoyances throughout where it differs slightly from how things are supposed to work.  For example, I can always spot a Delphi/Builder app because I map one of my mouse buttons to minimize and Delphi/Builder apps minimize through this as a little block above the Start button rather than to the taskbar.  Also, they don't respond to tile commands from the taskbar.  Extremely annoying! 

There are tons of other problems.  The IDE seems to expect all of the project files to be write accessible (makes putting projects under version control very annoying).  Builder (not sure about Delphi but they're very similar) uses a .res file (typically an intermediate file created from a .rc) partly as as an important project file (for storing things like icons) and partly as an intermediate file built from project settings.  The projects don't seem to support the concept of multiple configurations so you have to go in and manual toggle debug and release settings.  On top of this, the IDE has quite a few very annoying bugs. 

I could go on.  Microsoft has nothing to do with Delphi (and Builder) not being more popular.  Microsoft isn't responsible for Borland's poor designs and bugs.

Somebody
Thursday, May 08, 2003

Agree with Brad.  I remember "way back when" when the Microsoft DOS language compilers _sucked_ and Borland ruled.  Hard to believe that now.

Delphi is a great tool, but I think Borland makes most of their money off of Java (JBuilder).  If the sun sets on Java in favor of C# and .NET, Borland is getting ready to roll out C#Builder, but this puts them head to head against the Microsoft C# tools, and they will get creamed.  A bunch of the old Borland tools folks are in the Microsoft tools division now, which is why, over the years, the Microsoft compiler and IDE has sucked much less.  The brains behind Microsoft C# is the same guy who designed Turbo Pascal and Delphi for Borland.

Kylix, the Linux cross platform component of the Delphi strategy, is completely dead in the water.  No updates to the latest version in a very long time, and it won't even run on the last couple of distros from the biggest distro vendors.  I'm not talking about obscure stuff here - it won't run on Redhat 8 or 9.  I mean it won't even install, let alone build an app you can deploy.

To add to the misery, Borland just bought a bunch of non-related tools they are trying to weave together into some sort of coherent strategy, and after a number of quarters showing a profit, just reported a big loss.  Here we go again ...

Mitch & Murray (from downtown)
Thursday, May 08, 2003

By the way, I should add that Anders Hejlsberg, the mastermind behind many of Borland's innovations, ended up working for Microsoft and played a major role in the development of .Net (including being chief architect of C#). 

This influence is obvious given that .Net borrows a lot from Delphi/Builder.  The form designer in VS.Net reminds me a lot of the Delphi/Builder designer. 

I find it interesting that Java is always cited as the primary influence on .Net, but Delphi/Builder are never mentioned.  I've heard people describe .Net as Java done right.  To me, it's Delphi/Builder done right.

Somebody
Thursday, May 08, 2003

Yeh, how about we lay this myth about Delphi to rest. (Along with Do you know who designed .Net ...) Delphi's not as good as Visual Basic, basically.

Also, all these claims about Borland C++ Builder. My goodness. Look, Borland had the first IDE for Windows, back in 1991. It was superb. Microsoft followed pretty quickly and both were equal till about 1993.

Then Microsoft's better software design skills starting showing. Borland's OWL framework was big, complicated, and unreliable. Microsoft's MFC was clean and light. From then on, Visual Studio has always been nicer and better.

Summary: Borland deserves kudos for its early work on IDE's, but that's about it.


Thursday, May 08, 2003

Imo, Delphi simply arrived too late to the party.

When VB 3.0 came came out it wasn't exactly embraced by corporate America. Initially, many people literally had to sneak it into the office. Also, the fact that VBA came free with Microsoft Office and was licensed out to many third party vendors helped VB's popularity.

Brad wrote, "Microsoft treats their developers very well, product activation aside"

Which developers are you referring to?

I bet that there are currently many VB/VBA developers who would disagree with your opinion.

One Programmer's Opinion
Thursday, May 08, 2003

Why? Did VB6 stop working when they shipped VS.NET? You think things changed any less for C++ developers moving to .NET? You either get MC++, which is hacky and ugly albeit amazingly powerful, or you get C#, which bears only passing syntactic resemblance to modern C++.

Those VB developers need to shut the hell up and stop whining about having to learn new things. That's the nature of this business.

Brad Wilson (dotnetguy.techieswithcats.com)
Thursday, May 08, 2003

"Delphi's not as good as Visual Basic, basically." 

Yeah, right.  Make me laugh.

I've switched to Delphi after being a VB programmer.  There's no comparison.

Why isn't Delphi more popular?  Simple: Marketing.  Microsoft is great at it.  Borland sucks at it.   

Also, documentation plays a part.  Microsoft tools are wonderfully documented.  Borland's documentation is okay but not so great.  Borland seems to have the resources and cleverness to create some great tools, but not enough resources to provide the support that Microsoft does.  Reminds me of a similar difference between Microsoft tools and open source tools, only to a lesser extent (i.e., there's better documentation available for Borland tools than for most open source projects).  And just as with open source tools, the Delphi user community and component vendors are great at supporting each other. 

Herbert Sitz
Friday, May 09, 2003

Brad wrote, "Those VB developers need to shut the hell up and stop whining about having to learn new things. That's the nature of this business. "

For the most part I agree with you. I was simply pointing out that some Microsoft developers don't agree with you. For example, Microsoft hasn't exactly been very forthcoming on their future plans for VBA.

One Programmer's Opinion
Friday, May 09, 2003

---""Those VB developers need to shut the hell up and stop whining about having to learn new things. That's the nature of this business. "----

Yea, but what new things are they supposed to learn. The problem is that VB6 is last of the line but Office continues to use it under the guise of VBA.

Also the majority of VB programmers are not specialist programmers. They are responsible for the office organization, or all of the IT at a small company, or for the company's reservation system in toto (like as well as writing the software for the hotel rooms they have to check out that the maid has actually cleaned them and put the spare toothpaste in).

And as VB tends to be used for simpler one or two developer apps and often downloaded through the internet, the VB.NET programmer can't even guarantee that it will run on the client's machine, since few installations as yet have the CLR installed.

Stephen Jones
Friday, May 09, 2003

Borland should have loosened up the restriction in the Pascal language. I found it difficult to define method signature one place, then repeat it with the implementation in another place. Soon the distance between them becomes too far to code/refactor effectively.

Thomas Eyde
Friday, May 09, 2003

Ctrl + Shift + Up, Ctrl + Shift + Down will navigate between the two :-)

John Topley
Friday, May 09, 2003

Delphi isn't more popular because of several reasons:


1. The cost. VB costs a lot less than Delphi.

When making a puchase for a team with many developers, this difference in cost multiplies by the number of developers.


2. It arrived too late.

It appeared too late for people to switch. If I have several megs of VB code, why should I start all over again?


3. Marketing.

Microsoft and Sun are a lot better at marketing than Borland is.

More particularly, Sun and Oracle should have as their corporate slogan something like: "We are the masters of making hype".

They indeed generate a lot of hype / talk among the developer communities.

Take, for example, the Oracle "unbreakable" campaign. That version of Oracle proved to be breakable, after all, but the campaign generated a lot of hype and lots of discussions.

Also, Sun seems to be very proficient at this kind of marketing.


4. Integration.

Microsoft sells a lot of tools that integrate together quite nicely.

Borland does too, but there are far less tools.


5. The qualities of Delphi are not needed anymore.

In the current market, languages like Java win big. It seems that things like:

- strong enterprise libraries
- program's safety
- write once / run anywhere

are very important.

Delphi offers:

- excellent GUI building capabilities
- excellent component building capabilities
- native executables which run 10 x faster than Java

The 10x stuff is real - I have tested several pieces of code in both Java and Delphi (for example - code that adds numbers in an array, sorting code, etc), and the Delphi program was about 9-10 times faster than the Java program.

So, unfortunately, Delphi offers good things, but it's not what developers really need in today's market.

Michael K.
Friday, May 09, 2003

Your negative comments about Delphi clearly reflect the fact that you haven't read the manuals, and/or you just don't know how things should be done. ;)

YF
Friday, May 09, 2003

My negative comments about Delphi?

I use Delphi about 90% of the time!

It's true, not for enterprise development.

Michael K.
Friday, May 09, 2003

I finally gave up on delphi when it took so long for a decent XML library to turn up.

MSXML is just so much easier to use from VB than Delphi.

Ged Byrne
Friday, May 09, 2003

I'll say this again in case it wasn't clear enough.

The day Visual Studio .NET shipped, VB6 was still compiling code. The knowledge of (classic) VB wasn't sucked from everybody's mind, either. Nobody's forcing them to upgrade to VB.NET, now or ever.

Sooner or later, the paradigm shifts. It shifted once when a lot of things (including VB) moved to COM, and I'd argue that was a much harder shift to grasp than the move to .NET. Classic VB is a lot closer to .NET than another other development tool in Microsoft's stable was (excepting J#, the red-headed step child). So they have to learn some new syntax and start using objects. Well, that's the price they pay for moving to .NET. Besides, the majority of the learning curve is the new libraries, not the language. The language is relegated to an almost unimportant level now.

But for a third time, in case it was missed: nobody's forcing them to buy into or develop for .NET.

Brad Wilson (dotnetguy.techieswithcats.com)
Friday, May 09, 2003

I meant J++, not its .NET successor J#.

Brad Wilson (dotnetguy.techieswithcats.com)
Friday, May 09, 2003

I will always have a fond memory of object pascal.  I never get to use it commercially, everything in my world seems to be c++ these days :-(

nested functions, method of object callbacks, the packed keyword, neat enums and sets, pascal calling convention .... ah the beauty!  Pascal knocks the socks off everything else code-rereadability and elegance-wise

Nice
Friday, May 09, 2003

Disagree with almost everybody :-)

Delphi isn't difficult at all for use with the MSXML parser. I've been using it almost from the beginning, and it's really easy (once you've imported the right libraries!)

Also, Delphi wasn't that late in the windows world. Delphi 1.0 was written for Windows 3.1. That's pretty early in my book.

From the documentation side, current documentation is far behind Microsoft's. But, OTOH, the community it's very nice, and ways more skilled than VB community. I'm not being elitist, but I've found hundreds of VB "tutorials" written by people that aren't qualified for the task. In the Delphi world, you can find some really smart guys that provides really, really useful components for us to use (Virtual Tree View, LVK libraries, Syntax Editor, my favorites)

I like VB, and I use it extensively at work, but I would never say it's better than Delphi. They are very different beasts.

I also program in Visual C++ (OpenGL related stuff, mostly) and I really like it, but my stance is that MFC is not better than OWL. I'm open to discuss it, thought.

Wow, this is a long post (almost half the size of the average Albert K post! ;-)

Leonardo Herrera
Friday, May 09, 2003

When I used Delphi, I was always impressed by the open components that were available. Virtual TreeView and Virtual Explorer TreeView are awesome and GExperts deserves special mention.

John Topley
Friday, May 09, 2003

> When I used Delphi, I was always impressed by the open
> components that were available.

I'll second that. I've made a few utilities, for internal use - never got 'round to get them polished enough to unleash them on other mortals :)

Anyway,
- I've made an image viewer, and I don't know the first thing about image processing, resizing, etc, neither did I have to build the file treeview/listview. I'm planning on improving the file mgr features, e.g., to accept drag/drop and copy/paste files from the shell, and I didn't know much about the subject, when I started.
- I've made a simple download mgr, and I don't know much about HTTP.
- I've made an MP3 player to play encrypted MP3s, and I don't know much about encryption or MP3 format.

How's this for not knowing much about anything? ;)

Seriously, the point is I was able to find top-class usable resources (components, NG posts, examples), that I incorporate in my code, and I sometimes learn from them - e.g., I've learnt quite a bit about how the Windows Shell implements file copy/paste.

This is something I've yet to find either with VB or Java. But I admit it may be my fault - maybe I'm not looking in the right places.

--
"Suravye ninto manshima taishite (Peace favor your sword)" (Shienaran salute)
"Life is a dream from which we all must wake before we can dream again" (Amys, Aiel Wise One)

Paulo Caetano
Friday, May 09, 2003

Late to this discussion... a few rambles and flamebaits follow.

Delphi is probably the most efficient, most reliable and quickest way to develop high quality Win32 workstation executable programs.

Delphi's position in the marketplace angers and disappoints me. I think it mostly derives from Borland trying to play the "haughty provider of enterprise solutions" card that they are too much of an underfunded hobbyist grade hack shop to attempt. They renamed themselves "Inprise" to get that enterprise panache, and they acquired a CORBA tools vendor. Nobody believed it or understood what they were trying to do (as if Borland knew either) so now they're just Borland again. The point is, Borland had turned its back on the community of actual, "real person" developers who developed such fanatical loyalty to its products from the days of Turbo Pascal right up to Borland C++ 3.0.

Delphi's pricing is absolutely absurd. MS tools are pervasive because they're dirt cheap when you buy them bundled into MSDN and other places. I am convinced that Delphi has no market penetration partially because of this. Right now I figure it's more "expedient" to me as a contractor to buy MSDN and get MS Office developer coverage *and* .Net, than to blow over $1000 on the newest Delphi releases for Win32 and Linux and to further specialize in a language that the market is too stupid to appreciate.

If/when I choose to develop a product for resale to end users, Delphi will be my ace in the hole. Delphi is for my stuff that has to get done and simply "work".

C++ and other MS tools are there to offer the world on a contract basis, where companies pay people like me and you to run like rats in a treadmill using shitty, coarse grained,  unproductive tools just because they're "standards" and because they satisfy the prejudices of some stupid ignorant PhB who lacks the technical background to evaluate tools objectively.

On popularity and the "death touch" of associating yourself with a non MS tool: in this industry, "different" equates to subversive. If you say you find Delphi useful around certain immature MS-heads, you find that all of a sudden they've all flipped the bozo bit on you, and they may not even "like" you any more.

The one comment  about Delphi's broken Windows minimization floored me. How totally illiterate. It's just a default behavior of the non application forms. If you set a certain style bit in the form window being minimized (WS_EX_APPWINDOW), you can achieve the minimization to the task bar. Or, Application.Minimize. That's another thing - I'm convinced that many developers have flipped the bozo bit on tools like Delphi out of immaturity and unwillingness to expand their knowledge due to stumbling on one behavior.

Bored Bystander
Friday, May 09, 2003

Leonardo,

This was exactly my problem.  Always having to load the right libraries.  Having to cope with several different string implementations.  Having to adapt everything.

Ged Byrne
Friday, May 09, 2003

Borland was innovative at one point and it got them popular and ahead of Microsft et al.  Their fall from grace stems from Microsoft's dominance of the platform, improved quality of MS tools, Borland's diminished marketing and lost (confused?) business focus.  People who use a platform are more inclined to develop for it using the same tools that the developers used to make the platform.  Borland just seemed to lose steam and MS (Gate's) dumped a whole lot of cash investment into the creation of its VS Studio Flagship product.  At the same time, panic stricken Borland tried to keep up but only released very buggy tools (BC4 anyone?).  And there is nothing worse for a developer then using buggy development tools.  Can you blame the switch.

Delphi uses Pascal.  Just that fact scares people away!  VB uses Basic.  BASIC!  Think of the psychology there!  *Anyone* will tell you they've heard of "Basic" as a language.

VS Studio (VB.NET,VC.NET, etc.) with its .NET concretes its position as *the* prime tool to use for development of any kind regarding the Windows platform. 

Delphi can be more powerful, Watcom can be the best compiler, and maybe Linux should run the world; but without the proper supporting infrastructure to *apply* these tools to the masses, then all you're left with are hacks with their 15 seconds of past fame.  And where only the die-hards thrive.

Delphi and C++ Builder are still very viable tools to accomplish many tasks. Heck, I work with C++ Builder everyday in my job.  But as Bored Bystander put it very well, "Borland was trying to play the "haughty provider of enterprise solutions" card that they are too much of an underfunded hobbyist grade hack shop to attempt".

sedwo
Friday, May 09, 2003

Bored Bystander,

If I had to use Delphi/Builder, I'm sure that *I* could figure out how to fix the minimization issue.  The point is that I have no control over the other Delphi/Builder programmers who (probably unknowingly) release their apps with this bug (other than to send an email to tech support every time I encounter one).  Borland, however, does have control over this, in that they could simply fix the bug.

I don't think "totally illiterate" is a fair characterization of someone who doesn't want to waste their time hacking fixes for Borland's bugs into their apps.  There's a point where the advantages in rapid development with Delphi/Builder are outweighed by the disadvantages of needing to add all these little hacks to get the apps to work like Windows apps are supposed to.

I noticed you conveniently ignored the other issues I mentioned.

SomeBody
Friday, May 09, 2003

What happens to a VB app when an unhandled exception occurs ?

sunish
Sunday, May 11, 2003

>> What happens to a VB app when an unhandled exception occurs ?

Presumably the same thing that would happen in any language - it would crash.

If there was any other response (ie the app didn't crash) that would mean the exception was handled, so your question would not apply.

Thanks

Matthew
Sunday, May 11, 2003

I think the reason is they trashed everything and started over so many times

1. Original Turbo Pascal

2. TP4 and later - no longer compiled even relatively trivial programs made with 1

3. Delphi vs Tp4/5/6(?) - same thing I think

Eventually you get tired of having to rework your programs, merely because they made the language better, rather than "real" changes. I'm sure each time the language got better, but you added a few more folks who decided to try a different programming language (from then on).

S. Tanna
Saturday, May 17, 2003

Weather you use which language you guys use are just a language to instruct the computer to carry out for the desire tasks... so just use which language you can use in your best ways.......
Don't waste your times by arguing which is better than which.

tinkyawoo_mm@yahoo.com
Sunday, July 11, 2004

*  Recent Topics

*  Fog Creek Home