Hacker News new | ask | show | jobs
by peterkelly 1864 days ago
This is what Python should have done.
2 comments

JavaScript had something close, valid on the context level, with "use strict" (which is, I guess, borrowed from Perl), and I still don't understand why they don't repeat that for newer features that would be much simpler if they broke backwards compatibility.
Didn't this end up in every Perl file having a ton of different "use" statements at the top for features that became expected?
Perl model of enabling features individually was indeed too much, I was suggesting a language-level switch.
This approach only works for syntax level changes, it wouldn't have helped the problematic changes in Python 2 -> 3.
Well, the ability to specify python version by module would've made migration much easier for everyone (in theory). But you're quite right that it wouldn't by itself be a solution -- it would also have required additional complexity to handle interoperability when calling between python versions, both in the runtime and the programs themselves (even a sufficiently smart compiler can't figure out what string encoding a python2 function expects).