4 ms·
C# 1.0 (the spec) and especially Visual C# 1.0 (the IDE) were recapitulations of Delphi in Java skin. Now, C# is by far my favorite language (even though I thi
by noblethrasher 12y ago
C# 1.0 (the spec) and especially Visual C# 1.0 (the IDE) were recapitulations of Delphi in Java skin.
Now, C# is by far my favorite language (even though I think in ML), but I'm now a bit envious of the Java approach: One of the big ideas of OOP going back to Alan Kay is that OO languages should be extremely dynamic, and that you achieve performance by building better hardware (or tuning it)†. This is what Java and Objective-C do. And, this is why Java programmers can create classes and objects with reckless abandon and still get excellent performance. Meanwhile, in C#, I find myself worrying about whether something should be a class or a struct; it doesn't happen often, and I know that I ought not be thinking about it, but it's there.
So, in summary, I now appreciate the value of putting the performance knobs on the machine rather than in the language, which represent the two different philosophies of Java and C#.
†Said by Alan Kay, and repeated by Steve Jobs: “People who are really serious about software should make their own hardware.”