I am specifically looking for language influences (as opposed to framework). At first glance C# seems to be an evolution of C/C++ or Java. But we know C# has the same designer as Delphi, and he even acknowledged some similarities and said "good ideas don't just go away." The one example I see of something in C# that is not in Java or C/C++ is properties. Is that it? Are there others?
Not that much which is visible to the programmer, but behind the scenes, quite a bit, but a lot of them were in the IDE and windows forms control design, rather than the language itself, I have been using Delphi 7 for about 10 years and C# for about 5 so I have picked up on a few:
1) The anchors property is identical to Delphi
2) The form default position
3) The object hierarchy for the controls
4) The form designer in general feels very similar - cant put my finger on it exacly.
Some things in the language itself I have noticed:
1) Certain data types, aka Currency / Decimal
Some things in the language that are very different:
1) Constructor inheritence (delphi used to inherit all constructors to base objects they didnt have to be defined again in descendant classes)
2) Delphi had the ability to downgrade the visibility of a method or property in descendant classes, but keep polymorphism intact, C# does not allow this (I miss this very much)
I have probably missed heaps of things, please add them if you think of them.
Anders was with Borland until Delphi 3 - he was the original architect of Delphi as well as Turbo Pascal. If you load Delphi 1, bring up the about box and type AND you get a picture of Anders that winks at you.
When he left Borland for MS he initially did J++ which "upset" Sun a little bit. Then he created C#. The dots you should join go from Borland Object Pascal -> Java/J++ -> C#
C# is Microsoft's attempt to create a better Java. As an old Delphi coder I'd accept that they probably succeeded.