Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delphi vs C# & WPF for a new project? [closed]

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.

like image 642
Leigh S Avatar asked Nov 18 '10 00:11

Leigh S


Video Answer


2 Answers

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.

like image 125
Zlatibor Urosevic Avatar answered Sep 22 '22 19:09

Zlatibor Urosevic


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

like image 39
Darian Miller Avatar answered Sep 26 '22 19:09

Darian Miller