Hacker News new | past | comments | ask | show | jobs | submit login

Python 3, Perl 6 it looks like Scala 3 is heading that way too.

Python 3 is quite similar to Python 2. They made some breaking changes, but nowhere near like Perl 6. The real stumbling block was str vs unicode, which they didn't realize would be such a pain when making the decision.

There's breaking changes and there's writing a new language. It's a spectrum.

My computer has at least three different Python versions installed. I'd say that's a pretty big backwards compatibility problem.

There is also Perl 6, and I've recently read about Go 2. Swift changes every couple of months in incompatible ways.

I also have several Pythons installed. For me that's because of incompatibility between community packages I've installed, rather than differences in Python versions. Unfortunately, the various smaller communities can't always stay in sync. Right now there's a conflict between XGBoost and NumPy using MKL on MacOS. That's not a Python problem, exactly, as the issue is conflicting use of OpenMP, written in C, C++, and Fortran.

It also seems like all of the changes in Python are all changes that Perl5 has done over the years without breaking backwards compatibility. Unfortunately this does mean you often have to opt-in to the new functionality.

    use v5.24;
    use feature 'unicode_strings';
    use feature 'fc';
    use feature 'postderef';

Note that the `'postderef'` feature is now always enabled so that line is pointless if you use a new enough version of Perl5. The `'unicode_strings'` also isn't always necessary.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact