Along the lines of simplicity and approachability there is an interesting thread on "Lambda the ultimate"  rgarding the introduction of generics to the Java language. Following is the original posting:

The indefatigable Bruce Eckel is
learning all about Java generics so he can write about them in a way that explains things to mere mortals. It is clear to me that the Average Joes who have been using Java are going to have their minds blown by such things, and I wonder if Java has taken a large step along the pirate ship plank off to C++-like complexity and confoundedness? Along this vein of thought, advanced functional languages don't get much use in industry and I think people attribute it party to their tougher learning curve

So my question is, at what point have you made a language that regular folks simply won't be willing to learn? And the challenge is, how can languages be designed to give advanced benefits yet hide the complexities? Why can't machines better hide issues like co vs. contra variant type usage (or whatever)?

http://lambda-the-ultimate.org/node/view/1155

The comments, if you read through the post, reflect the multitude of perspectives (even if you are not interested in funcitonal programming) on what people think is simple or approachable in terms of languages.