This is the evolution of nearly any language... It begins simple and easy, and over time more and more features and syntax are added, and it becomes very hard to learn from scratch, which in turn means beginners end up using other simpler languages.
I think python is a classic example of this - python 2 was pretty simple. Python 3 just gets more and more complex.
Yep. Pre-generics, Java was considered a good teaching language because of its simplicity and the ability to hold the entire language in your head. I think it's much more difficult to make that argument now. The same for Python. Moreover, while Python 3's unicode/byte string separation was a crucial step, IMV other features from Python 3 haven't made a big impact on how useful the language is.
Python 2 is NOT simple. Why does str + unicode return unicode (Python 3 clearly separates bytes and str)? Why is there int vs. long (Python 3 dropped long)? Why can an inner function not assign to a variable of an outer function (Python 3 allows nonlocal)? Why does print have special syntax (>>, trailing comma) and is not a function? Why range() vs. xrange() (Python 3 makes all of them lazy)? Why redundant operators like <> vs. != (Python 3 eliminated the former)? Why class Foo vs. class Foo(object) (Python 3 eliminated the former)? Why multiple syntaxes for catching an exception?
I think python is a classic example of this - python 2 was pretty simple. Python 3 just gets more and more complex.