Remix.run Logo
gf000 4 days ago

I do agree that the article could be summarized as "value types vs reference types, a language should have both".

But your idea of Java is pretty dated - it has type inference, full algebraic types (records and sealed classes), pattern matching (switch expression - though many of its more advanced features are TBD/experimental yet).

And then Java has virtual threads, which C# suddenly wants to add as well, that language is definitely on the same road as C++, and this "adding every conceivable feature" is not sustainable, it will crumble under its own way. Java is much more conscious of it, which I greatly value.

Timwi 4 days ago | parent | next [-]

> it has type inference, full algebraic types [...]

For the record, I didn't say Java doesn't have those. The only thing I said it doesn't have is value types (and in another post, true generics). I'm aware that it has a couple features where C# is the one that's lagging behind, but on the whole, it's really no competition. I'm also aware that stuffing a language full of features willy-nilly is unwise and I'm curious where this will take C#.

arethuza 4 days ago | parent | prev [-]

It actually looks like they have decided not to add virtual threads to .Net:

https://github.com/dotnet/runtimelab/issues/2398