4 ms·
I think the differences between C# 1 and the current Java have been rather downplayed by this discussion. C#1 was different from Java in a number of very impor
by moomin 14y ago
I think the differences between C# 1 and the current Java have been rather downplayed by this discussion. C#1 was different from Java in a number of very important ways:
* You could call directly into the Win32 API (the issue that caused Sun and Microsoft to fall out)
* Value Types. Still being discussed for v8.
* Lambdas. Yes, in version 1.
* C# had enums, Java didn't. (Now Java has better enums than C#)
* A syntactic sugar for property get/set. This was extremely important to Microsoft.
* A decent COM-interop story. Again, very important to Microsoft.
Of course it was similar. It was a design goal to be able to run Java code on the .NET VM. But it was far from identical.
Jon Skeet could no doubt expand this list
- dbattaglia 14y agoI'm not so sure about lambdas in v1. I remember v2 added anonymous functions ( ex " delegate(int x){...}" ), and real lambdas not coming until v3.
- moomin 14y agoYou're correct, anonymous functions were 2.0, sorry. However, I'd argue that, syntax aside, they were already true lambdas. The expression stuff that V3 added isn't even on the Java roadmap.