Question

Would you consider Delphi 2010 / XE for a the development of a new windows desktop project or do you consider it dead with the current state of .Net & Microsoft products (WPF)?

If you would / wouldn't use it please explain why.

Edit

I agree the initial question is a little argumentative. However, this is a serious question. I am based in Australia and I haven't seen many developer CVs that contain recent delphi experience so when I say "dead" I am only questioning whether it is a bad choice because there is a shrinking pool of people working with it.

Was it helpful?

Solution

I would choose the tool your team is used to, if you can choose both however I would choose Delphi for a Win client...

A part the fact there are more .Net developers than Delphi ones worldwide still (as for official numbers there should be 1.5M ++ Delphi ones however - which is quite a high number), there are other facts why Delphi might be preferred on client side (Desktop apps etc...)...

  • Native code / more speed - NO JIT (very slow startup time for complex or very external assemblies dependant programs)...
  • More power with semi-manual memory management (which in MANY cases IS a plus, where on .Net side GC does not allow you enough freedom or flexibility, apart being non-deterministic in lot of situations...)
  • NO (or LESS) external dependencies (single .EXE etc...)
  • Easier DEPLOY (REAL xcopy) - for .Net you really depend on 50/70MB++ RTlibraries and security related issues could bind you easily... - -
  • Delphi binds its RTLibraries (very light ones) directly to WinAPI (which essentially does .Net as well but on one more/additional-managed layer)
  • Faster programs/apps execution with deterministic objects/memory management...
  • On specifically language (not library) side (apart lynx and some minor differencies) all you can do with C# you can do with Delphi with easier to read and better organized code (standard OOP language functionalities + generics, anonymous functions, reach RTTI/Reflection, great IDE, rich libraries, with forecoming support for 64-bit, multiplatform and other sugars)...
  • Delphi is much like C++ on 'proteins' (meaning you can do everything you can with C++, with the same resulting code-speed, but with apps done in less time due to a solid vcl/rtl framework very similar to .Net one (the fact is they have the same father practically with very similar language/object-framework design), ...
  • Long and strong compatibility background...

Said that, and working with C# as well, I like both, on different sides though,... Is should be said also that they are tools made for different reasons and targets.

Delphi was born by programmers and made for programmers (in 1995/6) and .Net/C# was born by MS 'marketing' on one side and Delphi father and great MS team on other side in order to replace VB6, kill Java, replace COM, etc... and at the end give some fresh air to stagnant (at that time) MS developer portfolio at that time (around year 2000++) ...

Result is that Delphi slowly but steadily goes on, and .Net being very 'histerycal' meaning that it got updates very often (and some very cool ones), some portions get obsolete very often, some directions change as well, providing very unstable feeling to lot of people etc...

Today you have .Net/C# which gives you things you were able to do with Delphi more then 10 years ago, but with slower (code) and still worse deployment (dll hell again, right?)...

Cheers, B.

OTHER TIPS

I produce commercial applications with Delphi. It does everything that I need and more.

Delphi's definitely not dead, and in fact it's been making quite a resurgence in the last few years, ever since it got picked up by a company that actually cares about making it a good product. And with WPF's future so uncertain and up in the air lately, I wouldn't try to build anything in it for fear of having it discontinued by Microsoft the way classic VB was.

So I'd say it's worth considering Delphi very seriously for a new project. It's not as popular as C#, but it's a better development system with a mature set of libraries and a strong, supportive community, and if other people aren't using it, that just means that you'll have a competitive advantage.

I would rethink the WPF choice because it is "dead"?
http://www.itwriting.com/blog/3385-lessons-from-evernotes-flight-from-net.html

Silverlight dead too?
http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834 http://blog.marcocantu.com/blog/microsoft_silverlight.html

But true, Delphi developers are harder to find, but it is relative easy to school them (we have a VB+C# developer here "upgraded" to Delphi ;-) )

Depends on what kind of application you're going to build and other factors such as experience of you and your team in the various technologies. For traditional applications with lots of ordinary dialogs, listboxes etc where customization, presentation and animation isn't that important I still think that Windows Forms has an edge against WPF as its a more mature technology with more experienced programmers and more code examples. WPF doesn't have that many advantages for those kind of applications yet since it's strength IMO is graphic acceleration and presentation.

Delphi is great, i was once a delphi programmer and found it to be way ahead of Visual Studio/Visual Basic at it's time. Nowadays though it feels like it's kinda on it's last legs and .Net has way more developers than than Delphi. Also access to the whole .Net framework with all it's classes and methods is invaluable

I am a programmer from the Turbo Pascal/C days so I've been a Borland fan since way before RAD came of age. I purchased Delphi 1.0 (16 bit!) as soon as it came out (back when Windows 95 was launched) and I remember making sweet love to it. Delphi kept improving over the years and I kept buying each new version. I loved the language, I loved the environment and I was a staunch supporter and kept milking the Delphi contracts over the years as I flew from job to job all over the U.S. Then Anders Heijlsberg defected to Microsoft and .NET and C# was released; it was clear that the writing was on the wall. I made the switch and as the years went by I remember Delphi fondly as I would an old teddy bear but I would never go back. I can't say I'm surprised by the attitude adopted by Delphi diehards since I can understand loving such an awesome product, but sometimes love can blind you to reality and that is clearly the case here. Of course you can still develop applications in Delphi, but its environment and toolset have long been surpassed (primarily by Microsoft's superior Visual Studio/.NET) and is very much a museum piece in this day and age that is desperately trying to stay relavent by tacking on bandaid after bandaid with each new release. Make the switch guys... realize that what you're experiencing is the "fanboy" phenomenon and that it's preventing you from moving forward. Learn something new, try Visual Studio/.NET/C# and get a short-term job in it. If after 6 months you decide it's the best thing since peanut butter and jelly then you've just improved your coding environment and career marketability and salary potential in one fell swoop. If not then go back to Delphi and good luck to you; no harm done right?

In short, Delphi is indeed a dead language in the same vein that Basic and Modula-2 are dead languages; there are still people developing in them but they are no longer relavent in the grand scheme of things. It just so happens that Delphi is more modern than most other dead languages and therefore still enjoys a bit more support, but that support is eroding with each passing day (and has been for many years) while more modern languages (ie. Java, C#) are growing and evolving.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top