Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
It's a real shame that some of them actually did. Look at how long it took the .NET folks to reimplement the dynamic capabilities that Delphi's had available in the variant type since pretty much forever... –  Mason Wheeler Jul 28 '11 at 19:03
Thankfully they did not stick with the BEGIN and END... –  Newtopian Jul 28 '11 at 19:57
@Newtopian: So you prefer punctuation over readable words? More of an APL kind of programmer? –  Jim McKeeth Jul 28 '11 at 21:01
Turbo Pascal (ancestor of Delphi) was written by Anders Hejlsberg, chief architect of the C# language at Microsoft. Connect the dots. –  Robert Harvey Jul 28 '11 at 21:29
APERSANDJim COLON yesCOMMA I much prefer punctuation over their english pronounciationEXCLAMATIONMARK because I think it makes the whole thing much more readablePOINT COLON DASH SEMICOLON –  Newtopian Jul 28 '11 at 23:11

2 Answers 2

up vote 1 down vote accepted

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.

share|improve this answer

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.

share|improve this answer
I disagree that C# is an attempt to "make a better Java". Though there are Java experts on the C# design team, we very rarely make explicit comparisons to Java when designing language features. –  Eric Lippert Aug 17 '11 at 23:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.