Both sides are extremely persuasive and thus I felt that no matter what choice I made it was the wrong one and would haunt me down the line.
So I just stuck with a different modern language that has wide acceptance and isn't battling with itself.
Both sides are extremely persuasive and thus I felt that no matter what choice I made it was the wrong one and would haunt me down the line.
So I just stuck with a different modern language that has wide acceptance and isn't battling with itself.
It really isn't that big or hard of a decision. For the vast majority of projects, the choice doesn't matter, so I'd default to Python 3 at this point. Really, the only reason to choose Python 2 for a new project is compatibility with libraries you need[0], but the list of Py3-incompatible libraries is constantly getting smaller and smaller.
That said, if you already have a lot of Python 2 code written, there probably isn't any point to upgrading--the benefits are marginal at best, and it can be a lot of work to migrate a large code base.
[0]: Here's a pretty good reference for Python 3 support in popular libraries: http://py3readiness.org/
In contrast, with Python, on a weekly basis I run into 2.x and 3.x problems...last week it was running the Google Cloud SDK, which is 2.x only. I say this as someone who has almost switched exclusively to Python (3.x) and enjoy it...but man I miss the days of Ruby's ease-of-use.
(but yeah, 1.8 to 1.9 was not a lot of fun, but thankfully, many years have passed since then)
This is the same issue facing Perl (although the Perl situation seems more dire) WRT Perl 5 vs Perl 6. For Python maybe the benefits of keeping Python 2 alive for large users offsets the harm of any confusion, I have small projects (all in Python 3) so it's a rare annoyance rather than a deal breaker.
The situation with Perl is neither more dire nor really the same issue as with Python. Perl 5 is not going away. Perl 6 maintainers are not the same people as Perl 5 Porters -- both will be maintained for the foreseeable future.
Second, Perl 6 is a significant change to Perl, with far more features and somewhat different syntax. People will want to change for the features. Running Perl 5 code from inside Perl 6 works by calling out to libperl, which runs a real version of Perl 5. Perl 5 will still be popular due to ubiquity, access to CPAN modules, and things like CPAN Testers.
So it's a choice for the developer, to develop in a new language that just happens to be Perl-flavored, or to go with any other language. Not really a crisis.
Python seems more popular at Academics, and it's essentially the Basics for the generic public, or replacing Java at colleges nowadays.
That been said, I use PHP myself, PHP7 looks promising.
Python 2 vs 3, AnguarJS 1 vs 2, the self-conflicted "upgrade" is double-sided.
Speed improvement is great as well. Seeing 2-5x speed improvements. :)