3 ms·
> Both Python and Perl made bold transitions, Python from 2 to 3 and Perl from 5 to 6. Perl 6 (Raku) is effectively a different language. Porting from 5 to 6 w
by GuB-42 5y ago
> Both Python and Perl made bold transitions, Python from 2 to 3 and Perl from 5 to 6.
Perl 6 (Raku) is effectively a different language. Porting from 5 to 6 would change most lines of code, in other words, a complete rewrite. To ease transition, Perl 6 made it so that both could coexist, but if you want to go v6, then it is all or nothing.
Python 2 and 3 are not that different. You can easily write code that is compatible in both, and porting is often not much more than using 2to3.py most of it is replacing "print" with "print()" and converting between bytes and str.
Perl strategy was that to create a modern language inspired by Perl, in indeed, Perl 6 has quite a few features ahead of its time. And Raku (the new name for Perl 6) is still one of the most advanced language today.
Python strategy was to keep the same language but address a few pain points that require breaking compatibility, Unicode in particular.
Perl 6 took a much bigger gamble.