Hacker News new | ask | show | jobs
by jamesisaac 3379 days ago
Something this article glosses over is that JavaScript achieved all the benefits of ES6, ES7, gradual typing, etc, without breaking backwards compatibility. I can still pull in a library written 10 years ago alongside my fancy new async/await code.

Perhaps this can be partly credited to JS's decision to go with a more minimal standard library, meaning it didn't end up with the Python 2/3 situation as standards evolved.

1 comments

I can do the same with a Python program written 8 years ago given that Python 3.0 was released in December 2008.

I don't think that it's Python's large standard library that was the issue since that was immediately compatible with Python 3, rather it was the large ecosystem (in fact particularly a small number of popular packages) which held things back by not porting soon enough.

The biggest issue was Python standardizing on Unicode by default in Python 3 and breaking backward compatibility with a lot of (bad) string handling code the hard way by also forcing developers to unlearn a lot of old habits.

JS won't experience a directly similar thing because it started with default Unicode strings support (because it had to, and also because JS is slightly younger than Python and had that advantage).