Live data from Hacker News

The Incredible Growth of Python

stackoverflow.blog

71–80 of 224 posts

Re: The Incredible Growth of Python

#71
post #10

Yes , but the young contenders already exist. If Nim gets more traction , over time it may replace Python.

I think about that once in a while, since I've gone all-in on Python, and here's how I've come to grips with it. Even if Python eventually declines (as did Pascal, HyperCard, and Visual Basic), it will still have made me a better programmer, and the continual improvement of languages means that the young contenders have to prove themselves better than Python.

So, bring 'em on.

Re: The Incredible Growth of Python

#72

Earlier quoted context omitted.

Package management was so frustrating coming from Ruby to Python. There are so many programs, and version conflicts that I run into all the time. With gems and bundler, it was rare if things didn't work.

If you get into the habit of making a virtual environment and requirements.txt in every repo then it's smooth. Just activate the env when you're using the repo and use vanilla pip install to install dependencies. Then pip freeze them into the requirements file. It's a very similar workflow to a gemfile and bundler.

I worked on python for a few months last year, and although I didn't find anything representing a canonical description of that workflow, I did eventually come to this conclusion. The only thing was that pip freeze > requirements.txt didn't really give the same power as I was used to with Gemfile.lock and the various permutations of bundle update. I forget the specifics, but I remember being unable to get the finer points of optimistic version locking to work in a way I found acceptable.

That said, I have been doing ruby since before Bundler, and I really have to take my hat off to what Yehuda and company accomplished with Bundler. It was both a technical and open source community triumph to get Bundler done, stable and covering the breadth of use cases it applies to.

Re: The Incredible Growth of Python

#73
post #13
post #3

TL;DR: Slightly interesting but narrowly focused article with clickbait-ish headline. It charts the growth of Stack Overflow python question views in the last five years. While this is an interesting statistic there is no additional analysis that it correlates to python's usage growth. And no hypothesis is given for the growth in question views, although they tease a future post about that. It would have been far mor…

> While this is an interesting statistic there is no additional analysis that it correlates to python's usage growth. You believe that Python would ever generate more questions over time on SO without getting more users/usage? I guess the mysterious dumbing down of a stable user base is an alternative explanation.

I get this same thing from the Delphi users forum, where the diehards strain to convince themselves that Delphi has "three million users" and "is about as popular as Python". They insist that there's no reason Stack Overflow questions should be correlated with real-world usage. One suggested, seriously, that perhaps Delphi is just so easy to use that users don't need to ask questions. This excuse has been adopted to explain a lack of commercially published books ("maybe everything to say about Delphi has already been said") and there was even an attempt to explain away job posting data. In that case it was theorized that Delphi jobs are filled as soon as they're posted while Java jobs go unfilled for months so when you see thousands of Java jobs on Dice but no Delphi jobs that actually means there's a huge Delphi jobs market and no one's actually using Java. :-(

Never underestimate how far users of "sunset technologies" will go to convince themselves that their skill set is outdated. Heck, Embarcadero's C++ product manager insists that "customers tell him" that Delphi (Pascal!) is "five times more productive than Python" and he actually believes this too. The Delphi product manager, meanwhile, told me he sincerely believes that Delphi has had more of an impact on the business world than Python ever has. Meanwhile, the former VP of Developer Relations once polled the first 500 people to upgrade to their newest release of Delphi, crunched the data, and concluded that users really love Delphi (of course, the many who felt the upgrade was light on features and high on price and chose not to upgrade weren't reflected in the data).

It makes me want to pull my hair out.

Re: The Incredible Growth of Python

#74
post #10

Yes , but the young contenders already exist. If Nim gets more traction , over time it may replace Python.

Nim's designer is too enamored with Delphi and has chosen to borrow many of Delphi's bad ideas for nostalgic reasons. This adds more ambiguities, more Perl-like symbol use, more reliance on an intelligent IDE, etc. Python is about the importance of simplicity and readability. I don't see Python devs abandoning Python for Nim any time soon. The ones who would have been tempted by Nim have already been tempted away by Go.

Re: The Incredible Growth of Python

#75

Earlier quoted context omitted.

Really? Pip should be pretty straight forward. Maybe you use different libraries than I do.

But be sure to use Pip into this year's flavor of virtual environments rather than globally, since you might have multiple projects that need different versions of the same package. And be sure to run the right version, I've seen situations where a computer had python 2 and 3 installed, somehow python3 became the default when running "python" but if you ran "pip" you'd get dumped into the old version. And if your edi…

Those all seem like pretty basic developer best practices to me.

Of course each project needs it's own virtualenv. In fact, each project should have it's own docker image. Why install an application library to the entire system? That is not a good idea in ANY language.

And of course scripts need to use the right virtualenv. Or better yet - why not put each app in it's own docker? That bundles up everything into a single "file" you can run on command.

All of these things you are listing as downsides seem like things that one normally moves away from, when they put a codebase in git and stop deploying to prod by copying a few files to a shared network drive and restarting the server?????

Re: The Incredible Growth of Python

#76
post #40

Earlier quoted context omitted.

Really? Pip should be pretty straight forward. Maybe you use different libraries than I do.

I do mostly Ruby professionally and dabble in Python, and I agree with heydonovan. Pip works fine for installing things, but near as I can tell, Python has no equivalent of bundler - a tool to install specific versions of a bunch of libraries, generate a lockfile ensuring that your production server and all of the devs are all running it with the same version of everything, and letting you have as many versions of a…

pip install -r requirements.txt

Pretty simple, no? Most any python project I have seen in the last 5-6 years uses it.

Re: The Incredible Growth of Python

#77

Python 2 advocates were quite firm in telling us that Python 3 and its incompatibility with Python 2 had killed Python and people would abandon Python altogether in droves for other languages. This post is suggesting the opposite, that Python is more healthy than ever and growing incredibly fast.

I really don't know where this is coming from. The only people I hear talking about a 2v3 divide are my Javascript developer friends, who are saying that as outside observers. As a Python dev, I (and all the other Python devs I know) were just waiting for (and helping) libraries to start working with 3 before we can switch over. These days, all my new projects are in 3, 2 is pretty much for legacy code only.

Same experience here -- got back into dev earlier this year and decided to go with Python 3 everywhere. The only libraries I've needed that were Python 2 only were ones that weren't being maintained anyways. It's been a pretty good recency filter for me. I know that wasn't the case when Python 3 was younger, but the ecosystem is pretty dang good today.

Re: The Incredible Growth of Python

#78

We've standardised on Python and we're migrating all of our systems to Python / Django / Postgres from PHP / Drupal / WordPress / MySQL. We started out with one senior Dev on the Python stack, and simply found that the productivity on Python/Django just too compelling to stay on PHP. The (senior) Dev on Python had a couple of highly successful projects which resulted with him getting some junior Dev support. Then the…

> We started out with one senior Dev on the Python stack, and simply found that the productivity on Python/Django just too compelling to stay on PHP.

There is nothing inherently "more productive" on one stack over the next. It's just technologies which are fundamentally similar.

A competent senior dev on the python stack would be just as productive as a competent senior dev on a php stack and vice versa.

It just seems like you found a good python developer who knows what he is doing.

Re: The Incredible Growth of Python

#79
post #64
post #39

Earlier quoted context omitted.

Did you actually read the article? Of course generating more questions is likely indicative of more usage. But the graph shows it from being in last place (of the listed languages) in 2012 with ~4% of the question views to being first place right now over all other languages with ~10% of question views. Python has grown a lot over the past 5 and especially 10 years in wide usage but I've seen no other evidence that t…

> Did you actually read the article? I did, but I also read the comment: "While this is an interesting statistic there is no additional analysis that it correlates to python's usage growth" -- which is what I responded to. > There are many possible explanations of a more indirect correlation that could be skewing the numbers in unexpected ways but none are discussed in the article. Like what though? Aside from some k…

I completely agree that there is growth but the question is how much. To me it feels like the 2012 python statistic is unexpectedly small. It's not like python wasn't very popular in 2012.

To put it another way: do you believe that the first graph in the article directly represents programming language usage percentiles, in the field, over five years? I'm guessing not. I certainly don't.

Here is a graph of programming language popularity on github from 2012-2014:

https://www.loggly.com/blog/the-most-popular-programming-lan...

While this metric is arguably just as fuzzy as any other, the lines in the this graph definitely seem to agree with my gut feeling for language percentiles during that period. I'm not trying to say that my "gut feeling" has any significance. I'm just re-emphasizing that the article didn't give me any useful insight into the significance or meaning of the Stack Overflow statistics. I couldn't find an equivalent chart for the years since 2014 but would love to see one. Either way, it's not like python was ever far behind. It was basically in third place in both the beginning and end of that time period. But in the beginning of the SO chart it's in sixth place. And the SO chart doesn't even include ruby, which is ahead of python in 2012 in the loggly chart. I guess people really don't go to SO for ruby questions? It's certainly possible that the quality of answers on SO for different languages has a lot of variance, which is one possible explanation for the difference. Maybe python questions in 2012 on SO weren't that good. In my experience I'm far more likely to check the python docs before I go looking on SO. Maybe there were changes in google rankings for certain things. Maybe there were certain types of articles that took up the lion's share of growth, like "how to port to python 3", which could have brought existing python devs back into heavy view rotation. Python has also gotten a lot more complicated with things like asyncio, etc., which could again draw more article views but not be directly related to usage growth.

Re: The Incredible Growth of Python

#80

python has a cool name. as time goes on new kids learn to program. kids choose the programming language with the cool name.

Isn't Java a cool name? How would you operationalize the "coolness" of a name?

Maybe you could use pytorch for this? It seems like a supervised learning problem.

Post reply on HN