r/Python • • May 26 '14

Python 3 is killing Python

https://medium.com/@deliciousrobots/5d2ad703365d/
0 Upvotes

147 comments sorted by

View all comments

6

u/TankorSmash May 26 '14

The alternative is dealing with those warts that built up. This is a necessary evil!

2

u/[deleted] May 27 '14

I used to abuse Python as a faster, more flexible bash, and only recently have begun using it to its full potential. Looking back there were a lot of things I wrote in bash or awk that would have made far more sense in Python (and which would have been more readable for others). Seemed in my ignorance I always asked if I could do something in bash, never if I actually should. Coming from HPC and architecture stuff, OOP was not exactly my forte, but now I've been learning Python to use as something more than the default shell on many of my favorite applications, and I am actually using it to create true software systems in the form of GUI tools that are robust enough to share. It has also been nice fully transitioning away from DSLs for numerical analysis and embracing Python's growing expertise in it. Numpy and Scipy were at Python 3.0 more or less from day one of its release.

I chose to learn Python from the ground up in earnest a couple of years ago completely ignoring Python 2 and writing in Python 3 from day one. My reasoning was that it was the number in its name was bigger, and I it turned out that I liked the print function better... that was about it. I did not know the politics behind this or why narcissists post "[insert contrarian statement here]" on Medium and end up all over Hacker News. In my experience, there has been nothing I have found I could not do with Python 3 libraries. My needs are not especially pressing, but I feel as though we have the bases covered already. If anything, we need more systems to move by Python 3 as a default. In the Linux world, often the libraries are already there, but they are simply waiting to be packaged. I think the main thing standing between Python 3 and wider adoption is the minutia of the final stages of deployment, and yes, probably a health dose of developer inertia, too. Some of my old scripts from before I started really trying my hand at Python would get hung up on something like how I was invoking urllib2 to get a file. Others needed a single extra line to the effect of var_str = str(var, encoding = 'utf-8'). Furthermore, in the process I learned why libraries like urllib were changed the way they were. If anything I have found that the organization of stdlib objects is more consistent now.

My two cents.