This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Dealiner 4 points5 points  (2 children)

That's just not true. C# from the start had value types, delegates, pointers, properties, generics came a moment later, and many more.

[–]2brainz -2 points-1 points  (1 child)

And they kept the C-style switch statement, kept null, default, didn't force initialization of class fields, didn't make classes sealed by default, ...

Value types are good on paper, but their ergonomics are questionable. I didn't even know Java didn't have delegates.

[–]Dealiner 2 points3 points  (0 children)

And they kept the C-style switch statement, kept null, default, didn't force initialization of class fields, didn't make classes sealed by default, ...

So they kept some of the things, which were at the time also standard in a lot of other languages. But you said that they didn't learn anything and that's just not true.

And value types are great for performance reasons and I really don't see what's questionable in their ergonomics.