Jon said:
I'm outlining a chapter on choosing between Delphi and C# for .NET
programming.
Why ?
To me one of the greatest strengths of the .NET framework is the level
playing field for all the different languages available for the
platform.
Language preference is exactly that, a preference, in the case of .Net
languages, there is IMO not much that is truly compelling to choose one
over the other, apart from personal preference. ok, there are some
minor issues, but by and large it's a subjective thing.
In my case, the first language I learnt was C, my degree was in
Electronic Engineering, In late 1994 I started using the Beta of Delphi
1 and have been a Delphi programmer ever since, however in the last
year or so, I have mostly been using C#, and I must admit personally I
prefer C#, almost certainly because I started my programming life as a
C programmer and didn't do the Pascal thing in Univercity.
I would be willing to bet though that there are a lot of Delphi guys
out there who came from a pascal background, who would much prefer
Delphi, and to be honest for my money, why should anyone care. I can
still use their code in my projects if I like, the same thing goes for
VB.NET.
If it were me writing this chapter, I would not try to make a case for
one language over another, I would try to pick out one or 2 nuggets
that a particular language is good for, and then show how you can
interoperate between them, flex some of the power of the .NET framework.
For example, one cool feature of Delphi that is a Pascal specific thing
is Sets, very powerful and way cool, another is reverse p/invoke
(allowing an assembly to export a function that can be called directly
from win32 code), these things can sit fine right along side my C#
assemblies, why should I constrain myself to one language ?
I don't know VB.NET very well, but I did use something from a VB
namespace recently, can't remember what it was, something financial I
think, and to be honest I don't really care what language the class was
written in.
And lastly, Did you know the the original chief architect of Delphi is
one of the Chief Architects of C#, Anders Hejlsberg. An interesting
fact is this, Delphi programmers coming to C# and .NET find it very
familier, most things are basically the same, or a natural evolution
and improvement (multicast events for example). If you are employing
newbies I can guarantee you, that the Delphi guys will get up to speed
real quick.
Rgds Tim.