Fog Creek Software
Discussion Board




Does C# is going to Kill Delphi ?



Does C# is going to Kill Delphi ?


Someone who wonders if it's still worth learning Delphi nowadays (for writting small application/Tools)

Gollum
Saturday, December 06, 2003

Borland is going to kill Delphi with their foolhardy strategies.

Mourning for Delphi
Saturday, December 06, 2003

Worth learning depends on your ultimate goal. But if you want to get a job developing new software or features be realistic.

Tom Vu
Saturday, December 06, 2003

"Worth learning depends on your ultimate goal. But if you want to get a job developing new software or features be realistic."

Agreed!

If you're going to write and sell your own shrink- wrapped software, then Delphi is definitely worth learning.  It is a mature tool, fully oop language/component framework, large 3rd party components, excellent user community support, applications compile to a single exe (no deployment hassles with runtime libraires). 

If your're plans are to be an enterprise developer then C# is your best bet.  Delphi is a great language/tool, but the fact of the matter is that there are very little jobs for it.

Cletus
Saturday, December 06, 2003

C# and Visual Studio .NET are promising tools.

C# is a little better than ObjectPascal.

But Delphi is better than C# and Visual Studio .NET in many, many other areas, including fast execution speed, support for 3rd party components, and the fact that the components that come with Delphi are MUCH better and bug-free than the components that come with Visual Studio .NET.

MX
Sunday, December 07, 2003

"But Delphi is better than C# and Visual Studio .NET in many, many other areas, including fast execution speed, support for 3rd party components, and the fact that the components that come with Delphi are MUCH better and bug-free than the components that come with Visual Studio .NET. "

The veracity of the above statement will decrease with time.

Beware the power of my stinky feet!
Sunday, December 07, 2003

And that's really the issue, isn't it.

It's one thing to say Delphi is great today if you're making a desktop app. I don't think anybody who's used it will disagree with you. But as time goes on, you can see the writing on the wall. Anders is working for Microsoft now, not Borland.

Unless Borland acts completely contrary to their history, Delphi is now a dying product.

If you were asking me what to use today, I'd say Delphi (or VB... depends on your developers). If you were asking me what to learn today for future safety? I'd say .NET.

Brad Wilson (dotnetguy.techieswithcats.com)
Sunday, December 07, 2003

Anders is working for Microsoft for quite some time. I believe Borland was in the middle of development of Delphi 2 when Anders left for Microsoft. Since then Borland released many new versions of Delphi (version 8 is just about to come out). This proves that Delphi is very much alive even without Anders onboard.

If you want to develop for Win32 and .NET at the same time or if you want to develop for Win32 now and have an easy migration to .NET some time in the future than Delphi is the only RAD tool that can easily enable you to do so.

Unlike Visual Basic (6) which is dead Delphi is very much alive.

Branko
Monday, December 08, 2003

"Unlike Visual Basic (6) which is dead Delphi is very much alive. "

Perhaps. But where will it be in 3-5 years? For enterprise application development, the smart money is going to be on .NET.

Sure, there will always be those shops that stick with Delphi, just like there will always be shops that refuse to go to .NET and stick with VB 6.0

But over time, the majority of enterprise application development for Windows will focus around .NET and J2EE.

Mark Hoffman
Monday, December 08, 2003

The new Delphi 8 is actually Delphi for .NET.  So at least theoretically it seems like Delphi and .NET could both prosper together in the future. 

Seems to me like the question should be phrased more like, "Why would anyone want to use Delphi for .NET when C# is available as an alternative?"

I'm not sure about the answer to that one.  But here are a couple of possibilities:

(1)  The path from Win32 Delphi to .NET Delphi is much cleaner than the path from VB to VB.NET.    For example, Delphi component vendor Developer Express plans to release their Delphi Win32 VCL components in .NET/VCL format sometime early next year.  Believe me, they wouldn't be doing this if it was a huge task; DevEx already has pure .NET counterparts of most of their components that can be used with C# and VB.NET (as well as Delphi for .NET).  The VCL ports will be usable only with Delphi for .NET, but they will be hugely helpful for developers using DevEx components who want to maintain both Win32 and .NET versions of an app.  I assume many other Delphi component vendors will be doing the same, and of course the base VCL component library will be usable under Delphi for .NET.

(2)  Delphi is only product that is available in both Win32 and .NET versions.

(3)  If you go with Delphi.NET it should be a pretty simple process to jump ship at some later date if it becomes necessary and go to C#, VB.NET, or any other .NET language.  You would already have the .NET framework down, wouldn't be any more difficult than switching, say, from C# to VB.NET.

Herbert Sitz
Monday, December 08, 2003

Herbert - your point #1 would be valid if a current Delphi user is trying to decide whether to learn Delphi for .NET or C#.  But the original poster was asking from a newbie's perspective (i think).  So then why would a new user care if Win32 Delphi --> .NET Delphi is a nice path?  Why shouldn't they just go straight to C#?

nathan
Monday, December 08, 2003

Delphi is so close to a 1:1 correspondance, language wise, with C# that I would be immensely suprised if Delphi wasn't a perfectly supported .NET language in the future.

It really comes down to what you want to do.

If you want to learn to write hardcore games... learn C++.

If you want to write web-apps and/or middleware, learn C#.

If you want to write GUI apps that will run well on all sorts of computers new and old, learn Delphi.  .NET can't do this yet.  Until Longhorn is released, making sure the .NET runtime is on the user's computer will be a hassle that will reduce the competitiveness of your application.

Borland has been killing Delphi with bad management for a long time now, but somehow it's still here.  I worked for Borland doing Delphi tech support during the Delphi 4 release.  I've seen it first hand.  "Let's de-emphasize our cash cow Delphi and pursue nebulous CORBA and Java middleware."  Del Yokam can rot in hell.  If you're just an executioner CEO, do us all a favor and don't farkup the company's direction while you're laying everyone off.

But seriously, "Delphi is dying" is right up there with "Apple is dying" as one of those things that everyone keeps saying (because there is actually alot of evidence for it) but never seems to actually come true.

Richard P
Monday, December 08, 2003

"Why shouldn't they just go straight to C#?" 

I don't know.  Maybe they should.

But for some people Delphi may remain a better choice.  For at least the next couple of years you can't take for granted that the .NET framework is going to be on all computers.  Certainly not right now.  So use Delphi to develop for Win32 now and port to .NET whenever it becomes necessary and/or advantageous.

The ability to ship for Win32 now is a big benefit for the "shareware" type developer that gets best advantage with Delphi.    Nothing compares to Delphi for fast and professional Win32 development.

I do think businesses developing their own custom apps might also be better served by Delphi, but that battle seems to be already won by MS.

Herbert Sitz
Monday, December 08, 2003

Note the question.

It isn't "what should I use to write Windows apps?". It isn't "what should my company select?". It's "what should I learn?".

In that context, as a career move, I wouldn't suggest Delphi. Simply, there aren't enough jobs to justify. If you want to learn it because it's cool, that's fine. If you need to learn it because you're going to do work with it, that's fine. But as a career choice of Delphi vs. C#, choosing Delphi is a poor move.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, December 09, 2003

"If you were asking me what to learn today for future safety? I'd say .NET"

And not some language used on the Indian sub-continent?


Tuesday, December 09, 2003

Why do people post pointless answers like that? Are we all supposed to bow to your supposed wit? Not even brave enough to post your name, to boot.

Must be a politician.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, December 09, 2003

"But as a career choice of Delphi vs. C#, choosing Delphi is a poor move. "

As some have said in this and other threads, Delphi is a popular choice for solo programmers who want to write shareware-type apps.  There are good reasons for this.

So I really do think that the answer to whether to learn Delphi or C# depends on what sort of career you're talking about. 

If you want a career working as an employee of a business (by far the more common desire), almost certainly you're better off learning C#.  If you want a "career" as a solo developer selling your own apps, I think you're still better off learning Delphi.  That may change, but I'm guessing not for at least a year or two, maybe more.

Herbert Sitz
Tuesday, December 09, 2003

At risk of getting flogged, I confess I'm a happy go-lucky Java developer enjoying my latte and write-once crash everywhere utopia. I'm seeking advice on a pending language choice between Delphi and C#. My firm has begun planning the development of a graphical editing framework for use in both our model driven software development environment and our visual electrical component engineering product lines. Some use of 3D rendering will be required, but mostly 2D targeted at Windows workstations with use of OpenGL and DirectX. Here are my points of interest:

1) We've considered using SWT and Eclipse already existing GEF and other facilities to develop IDE. This is still under debate. Java is much slower and mingling our code with potential "CPL" license issues is not favorable.

2) We aspire to develop the fastest and most comprehensive Java, C++, Pascal, and UML Modeling IDE ever to hit the market. Therefore, I personally have opted for either C# or Delphi. As far as execution and graphical rendering, what are the advantages of each language?

3) I like the object-oriented nature of C# over Delphi. I feel at home in VS amongst the "dot mentality" and namespaces. Delphi application are built around units and upon the VCL, which is a wrapper for the Win32 API. Does this potentially induce imcompatibilities in my applications moving toward future versions of Windows? Supposively the Windows API will radically change in future versions of Windows as Microsoft "abandons" support for the traditional Win32 API and Windows messaging system in favor of a cleaner OO architecture. Opinions?

4) Delphi has an open source movement behind it rooted with Pascal traditionalist. I can realistically see .NET moving cross platform. Delphi/Kylix is a heads up but once again our cousin trolltech is "in the cookie jar". With Delphi/Pascal I have the advantage of seeing ALL of the source code but I'm not sure about QT sources. Opinions?










Rafael Christo
Thursday, February 19, 2004

*  Recent Topics

*  Fog Creek Home