I think there's a lot to be said for picking which features to leave out.
Maybe I'm alone with this viewpoint though.
Any new features that make it into Java or C# will only make the tutorials longer and the learning curve steeper. Not a good thing.
It's not like several other languages that have to go and add unicode support on later as an afterthought.
public void run()
System.out.println("I'm in a Thread");
new Thread (Go).start();
static void Go()
Console.Writeln("I'm in a Thread");
new Thread(() => Console.WriteLine("I'm in a Thread")).Start();
This isn't the only difference, either. C# is never going to be as terse as a scripting language, but with each release they are examining common workflows and streamlining them. Java may be adding in a lot of new features, but the syntactic integration seems awkward at best.
The little things count for a lot.
I'm a Java developer - naturally I think Gosling (for the most part) drew the lines in the right places.
Did he leave out unsigned types because he thought we weren't smart enough to cope with them? No, I'd say he left them out because it makes everything simpler. If a programmer wants an unsigned type, he can do it himself.