Eric Gunnerson, discussing "Why so many languages?" makes the key point that "Compactness and simplicity have big benefits as well in programming languages."
Once upon a time, I made a good living teaching Java. Sometimes I taught it to C and C++ developers, sometimes I taught it to COBOL developers. One way or the other, in a week you could really deliver value: if people understood imperative structured code, you could really move them towards an understanding of object-oriented programming in just a week. Same for C# 1.0.
Even so, you had to talk about "well, not everything's an object," and deal with function-call semantics and equivalence and so forth. Personally, I think that the inclusion of native types was a critically beneficial language-design decision for Java, but it does complicate teaching. In .NET, it's even harder to teach, because you can't say that value types are limited exceptions.
About a year ago, I had a friendly debate with my colleague Allen Holub about the changes in the then-new C# 2.0 and Java 5 languages. One disagreement we have is that Allen doesn't like generics, I do. I tend to \<a href="http://www.knowing.net/ct.ashx?id=d5cf50c2-af54-4f32-b290-db5d345ada27&url=http%3a%2f%2fwww.knowing.net%2fPermaLink%2cguid%2c336.aspx"" target=_blank rel="noopener noreferrer">like explicit typing, my feeling is that 99% percent of the time you have a type intent that you can memorialize with a few finger strokes and gain Intellisense and better comprehension. But Allen cleverly didn't argue the finger-typing issue, he said that what he disagrees with is that generics are not OO, thereby making the language harder to learn.