Recently , i was in discussion with my manager as well the client in creating / moving an application from Delphi to .NET ( Visual Studio ) and thought myself Which one is Better? and was struck up with no clear answer.
Here’s i compare two technologies ( Not Technically but just about what i feel ) and this is just my opinion and others might well disagree with me too . Here we go .
Anders Hejlsberg was involved in C# and for Delphi too and this puts me in a quetion on there might be similarities too …
C# / .NET
- C# is a simple and very well defined language .
- Its from Microsoft and .NET is the future for Development on the Microsoft Platform.
- Visual Studio’s Code Editor and the Options of the Extensions / Addons to the IDE brings me more functions to be brought together in single IDE / Place especially Code Compare too and Data Compare tool etc
- Excellent Community Support for .NET . Check the following sites
1. MSDN – Has lots of categories like ASP.NET , C# ,Windows Phone 7 etc.
2. WWW.ASP.NET
3. WWW.WINDOWSCLIENT.NET
and Many more…
* Active Support from Microsoft Valuable Professionals ( MVP’s ) throgh Blogs , Forums etc .
Cons :
- When a references are added , and the setup is installed , the required dll’s are copied to the Application Folder and this might frustrate if the number of Dll’s are more .
- The right framework has to be installed for the Application you developed . The framework/runtime has to be distributed . But this doesnot look as a problem since most of the windows update would install the framework too for the latest Operating Systems .By Default , the operating system’s comes with the .NET Framework installed . Windows 7 Comes with .NET 3.5 SP1 Installed .
There are quite a lot of other things too , but really the good things in Visual Studio overshadows other negatives of the product.
Delphi
- Delphi is a great tool to work with . I work on Delphi 7 and havn’t tried much on Delphi 2010 , the latest one from Embarcadero .
- Delphi 7’s IDE is much faster and especially when i compare with the Visual Studio 2010 🙁 and is 100 times faster.
- Delphi 7 compiles the exe to a Native Code and thus is highly optimised and high performance too .
- Delphi was easier to learn and c# more easier than that too , but if you wanna learn the entire .NET Framework that might take you some time .
- Nice components from the Developer communities like Torry’s Delphi
Cons
- The Demand for Delphi Professionals …
- The Marketing strategy for Delphi . I seriously think Embarcadero require a free Express Edition of Delphi , something that Delphi 7 had ( Personal edition ) and what Microsoft provides ( Express Editions for C#,Visual Web Developer , VB.NET , SQL Server Express etc ).
- More Community involvement is also needed like MVP program etc…
I feel neither Delphi is better than C# or C# is better than Delphi . It just lies in the kind of Application you are building and on which language one is comfortable with .So its a 50-50 Situation for me 🙁
Just a wind up incase an existing migration from any language has to be done, the following things should be observed.
- Expertise or proficiency of the Developers ( Language )
- What Environment the application is targetted for ?
- Database and other Technologies used .
- Cost of the Development Environment and IDE’s etc.
- Updating to the Newest and stable Technology .
13 Comments
Good Article. I shall point to your piece. Well documented.
Good Article. I shall point to your piece. Well documented.!
Thanks Vijay !
I moved to C#, mainly because of the Borland/Embarcadero marketing:
@Alexander . Yes , you are right .
I too agree with you on this .
Delphi is going the way that Cobol has gone in the last century.
And, BTW, Java will too…
Just look at the ever decreasing job opportunities for Delphi devs.
I changed to C# in 2002, not from Delphi but from C++ Builder, so VCL anyway 😉
“And, BTW, Java will too…” – any facts, or just standard blablabla? 🙂
Delphi will never go the way of Cobol. Delphi jobs have steadily declined and their applications have been rewritten in other languages. Cobol is still relevant and is still actively worked on to this day. I can not recall the last time I had seen a Delphi job posting.
Java will never go away, there are still more Java jobs than C#.
I have worked with Delphi since it was first released, and as you say I found it easy to pick up. The problem with Delphi is that it was the first windows IDE Development tool, Microsoft then followed and have taken it one step further. Microsoft are able to distribute free versions of their development tools which mean that students and R&D developers can get to grips with it, .Net changed the desktop development world and Delphi missed the boat and is still trying to catch up. The ownership of the product changes hands too regularly so it means that there is not enough joined up thinking. I will always be an avid supporter of the product, but I suspect I am going to be forced down the C# route at any time!
I always have the feeling this kind of discussions are too tool specific.
Search your other abilities (other than merely programming suite), and choose a employer based on those abilities. Only then start fixating on the tool.
I share many (if not all) of the doubts wrt Delphi, but I also have seen the more shallow waters of .NET, where programmers are monkeys in ASP.NET sweatshops that desperately try to get some business in an overcrowded market, by bidding under the price.
Its fine to choose .NET, but then better bring something to the table that makes the difference , and don’t just follow the crowd out of instinct/habit.
i dont know!!
Well, I think that this all has to do with functionality.
I mean that we have two main categories: The web apps and the stand-alone/desktop apps.
In the web apps, unfortunately Delphi is far behind .NET. You may connect through Delphi to remote servers, but it doesn’t include the tools to create web sites.
In the desktop apps, I believe that Delphi is much more robust and help you create stable and well defined apps. Personally I find it much more easier to create apps in Delphi than in .NET, However, the main advantage of .NET over Delphi is the LINQ technology, which provides you the API to interact with databases instantly. I am still wondering how it comes the developers of Delphi haven’t developed a similar way to handle databases.
As for the market demands, I believe that it has to do with trends and advertisement. Unfortunately, my experience taught me that the organization’s tend to follow the flow and not find out what serve them best and right now .NET has the “upper hand” in market.
The one billion question is whether Delphi can provide you with functionality and help you build apps that .NET straggles to, regardless the business sector. I don’t know… I’d like here the opinion of much more experienced programmers than me.
Delphi is great, easy to learn is hard to say but what I am absolutely sure of objective pascal is the best written and readable language till today. The language just make sense and in my opinion it also has the best implemented OOP compared to other languages.
This is also the main reason I hope truly Delphi get back in the top of the race.
There has always been two sides C++ and Objective Pascal, C++ for those who want to type less but in a way that hardly make sense and Objective Pascal a readable programming language which in my opinion is much more effective and should be the number one program language.