4 ms·
As someone who has been using Java since 1.0, I welcome these little improvements but agree that the language is now a mess for a beginner. All of the little ru
by mcculley 4y ago
As someone who has been using Java since 1.0, I welcome these little improvements but agree that the language is now a mess for a beginner. All of the little rules and corners make sense to someone who learned them gradually. To a beginner, they must seem nonsensical and intimidating.
- londons_explore 4y agoThis 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.
- cratermoon 4y agoThe language formerly known as Perl 6 has entered the chat.
- amoe_ 4y agoYep. 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.
- nayuki 4y agoPython 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?