delphi vs. C#

C# and Delphi have the same father. Anders Hejlsberg. C# is from microsoft and delphi from borland..

i was initially a C# guy, but now im starting to like DELPHI more than C# . here are some random thoughts why…

1. there are lesser layers and so the program runs faster in delphi
2. more comfortable to access win32 apis in a delphi environment..
3. more intuitive… ( the concept of streaming whether be it with files, memory or network is not all that intuitive initially in C#)
4. a whole lot of free components are widely available for delphi.. (though not free, dev express grids are awesome.. but .net has this too)
5. the ‘with’ operator.. dont think it is available with C#
6. u can start the array from any number unlike in c# where the array index should start from 0 when initialising..

things i dont like about delphi
1. instead of the { } in C#, you use ‘begin’ and ‘end’ keywords.. majorly sucks!!
2. no ‘foreach’ keyword.
3. i prefer C# ‘=’ operator as opposed to delphis ‘:=’ assignment operators ( remember, to get the ‘:’ u need to use the shift key!! another major sucker.. for a better coverage of this topic, check out comparison of C# and Delphi



Filed under All, C#, delphi

4 responses to “delphi vs. C#

  1. Charles

    Where do I start? First off lesser is not a word (try fewer in the future).

    2) If you’re trying to access the win api then you’re doing it wrong. Use the framework. I know you’re comfortable using the API but the truth is the framework should do it all. You’ll have to learn a new library but the framework IS the new win api. Would you use Lynx to surf the web today or gopher to do searches?

    3) you lost me here

    5) Well I agree there, but the truth is that this impact readability and the only reason I’ve wanted it is because of laziness. In a nutshell use intellisense it does the work for you so that excuse no longer applies.

    6) Ummm okay and that’s useful why. There are many ways around that ever hear of objects. Create your own array subclass and handle that internally… Even so there are many other LOW level ways around this.

    As for your rant’s regarding Delphi they are just a few of the reasons I dumped it 3 years ago (been a user since Delphi 1.0). I have a small business and my business product which I started in Delphi 2.0 was having growing pains. I was having a hard time finding and keeping GOOD Delphi programmers so I ported the entire thing to C# after Studio 2005 came out. Took a good long while but it was worth it.

    Between generics, EntLib, and new features like Astoria, LINQ, and Sync Services for ADO etc etc that move has paid of big time. Code footprint using all these has gone down and I was able to dump the anachronous syntax.

  2. Charles

    PS I should have said lesser is not the correct word to use in this case (obviously lesser is a word as in the lesser of two evils)… 🙂

  3. Bob

    I am also a big Delphi fan, but I have a major problem with it. The price! When I bought a new computer, my Delphi 7 had issues with Windows Vista (which all new computers ship with!). So, I investigated Delphi upgrades and boy was I in for sticker shock! Delphi 2007 comes in 3 Editions. Professional (over $1,000 for the full version!), Architect and Enterprise (don’t even read the price tag if you’re faint of heart!!!). Delphi has a free ‘Turbo’ version, but you can’t even install packages or use the ToolsAPI. This makes Turbo Delphi a gimmick in my opinion. I would be happy to pay $200 for a fully-functional Delphi “Personal” that does everything Delphi does (including install packages) but is not for commercial use. No such thing exists.

    Microsoft has such a thing. VisualStudio 2008 ‘Standard’ is $250 and has the full functionality of VS. Making a fully-functional, affordable version available to the mass-buying public is how you win them over and gain popularity. CodeGear/Borland has not learned this lesson.

  4. Billy

    I know this thread is old. I am just getting started with C# and have been a Delphi developer since 2000. If Delphi today wasn’t so expensive, I would be using the newest version of Delphi now. But I can only afford to use the express version of VS even now.

    What I really miss with Delphi that is missing in C#, is the TStrings abstract class. In Delphi, pretty much all lists are based off of TStrings. This means if I create a new list object and inherite from TStrings. I can do things like ComboBox.Items = MyNewItemList.

    Ever list component in C# is like pulling teeth to figure out how to get the list object I created to show up in the anything without doing 2 – 3 conversion steps in the process. Then I can not update a single item in my object list and have it show in a ListBox, ComboBox etc. without refreshing(with several steps) the entire list.

    Delphi I picked up easily. But C# is very convoluted in the ways it does things. Also, Delphi applications should run faster than .NET. Delphi is a compiled language and .NET is still an interpreted language. I have noticed that .NET is slower in the applications I have had to deal with.

    My 2 cents.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s