GOPHERSPACE.DE - P H O X Y
gophering on hngopher.com
HN Gopher Feed (2017-09-06) - page 2 of 10
 
___________________________________________________________________
The Incredible Growth of Python
115 points by kjhughes
https://stackoverflow.blog/2017/09/06/incredible-growth-python/?...
-python/?cb=1
___________________________________________________________________
 
agumonkey - 2 hours ago
I'm surprised by the decline of C#. I thought it was better off
than java these days. Also PHP is gliding down. They improved the
language a lot, but I can't say I will miss the PHP world
much.About python, isn't it related to numpy mostly ?
 
  [deleted]
 
  kirse - 53 minutes ago
  I'm surprised by the decline of C#The graphs are for # of views
  to questions on SO involving that language.  What it likely means
  for C# (and PHP/Java, etc) is that the user-base is maturing and
  stabilizing, and not as many questions need to be asked (or
  found).  For C#, it could also have something to do with the fact
  that the MSDN .NET docs have vastly improved over the past 3-5
  years.
 
  brianwawok - 1 hours ago
  C# is not that special off Windows. Most shops dont run Windows.
  Ergo Java wins over c#.
 
s17n - 14 minutes ago
Python is pretty much becoming the de facto language of academia
(outside of CS).  I wonder how much this is driving overall Python
usage?
 
jaco8 - 2 hours ago
Yes , but the young contenders already exist. If Nim gets more
traction , over time it may replace Python.
 
  coldtea - 2 hours ago
  Don't hold your breath. Nim doesn't have the kind of ecosystem,
  and hasn't shown signs of having one.
 
    [deleted]
 
    jaco8 - 1 hours ago
    Do not worry ,still breathing here , when I started
    Fortran,RPGII and Cobol was the thing and Python did not exist.
    Now Python is becoming the old elephant and new languages like
    Nim will evolve and they will grow an ecosystem over time.
 
  jeremyjh - 30 minutes ago
  It had a flash a few years ago when it changed names but overall
  does not seem to be going anywhere hype-wise.https://trends.googl
  e.com/trends/explore?date=today%205-y&q=...
 
twobyfour - 2 hours ago
The chart there really emphasizes to what degree Java, C++, and to
a lesser degree Javascript are used as teaching languages.  There's
a clear cyclical pattern in their question frequency that
presumably corresponds to academic semesters.
 
  stupidcar - 1 hours ago
  Hmm. Interesting that JS's cycle is the inverse of Java's. People
  learning Java during term-time, then JS during their holidays?
 
    pen2l - 1 hours ago
    In their holidays, people make websites ("The next facebook!"),
    at term-time they make sodoku solving applications in Java for
    programming class.
 
jzl - 2 hours ago
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 more interesting if they
correlated their stats to lines of code in github or something
along those lines.To me, if anything I'm curious why python was so
low percentage-wise in question views only five years ago.
Anecdotally it doesn't seem to me that python usage in "industry"
has grown that dramatically in the last five years, but there could
be other factors involved such as education. Or my biased gut
instinct could be completely off.(Note: been a python user for 20+
years.)
 
  kronos29296 - 2 hours ago
  I think even though Python in the industry like in web isn't
  growing as much as say Node, in other places like Data Science
  and Intro to programming in Unis and Schools Python is growing
  very fast.The article is not narrow minded but has a narrow focus
  and only analyses concrete data from a single source. It may be
  globally accurate but indicates a rising trend in people being
  interested in python. While Python usage cannot be directly
  correlatd to SO, we can infer that languages that have more
  questions have more people using or learning it generally. In the
  same way languages with a small community of users don't always
  prefer SO but something more personal like Mailing lists or IRC
  (eg. J language).It should be safe to conclude that due to Data
  Science being the new buzz word and python at the forefront of it
  all, atleast python is getting a lot of attention even if it
  doesn't translate directly to more users right away.
 
    jzl - 1 hours ago
    I just edited my comment to say narrowly focused rather than
    narrow-minded. That is definitely what I meant to convey but
    chose the wrong words, thanks for pointing it out.
 
  AlexMax - 56 minutes ago
  > Anecdotally it doesn't seem to me that python usage in
  "industry" has grown that dramatically in the last five years,
  but there could be other factors involved such as education. Or
  my biased gut instinct could be completely off.I actually was
  looking at these numbers just a few days ago, trying to decide on
  what language to embed in something I'm working on (CPython,
  Duktape Javascript or Lua), and came to the same confused
  realization - the number of Python questions on Stack Overflow
  had increased significantly over the last few years, but I
  couldn't quite correlate why.  I put in a bunch of different
  related tags, but none of them could account for such a large jum
  p.https://insights.stackoverflow.com/trends?tags=python%2Cdjan...
 
  coldtea - 2 hours ago
  >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.
 
    jzl - 1 hours ago
    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 the chart in
    the article should be believed to have a direct correlation
    with usage. 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.I'm the
    biggest python fan you'll meet (ok I'm sure that's not strictly
    true) but I followed the headline hoping to see more concrete
    data to support the claim of "Incredible Growth" and came away
    disappointed.
 
  doozy - 2 hours ago
  Fellow 20+ years Python user here.Python adoption outside first
  world countries have always lagged considerably behind. A common
  pattern among technologies.I suspect a lot of that growth is the
  rest of the world catching up.
 
    jzl - 1 hours ago
    To the article's credit it actually differentiates between
    first world ("high income") countries and the rest of the
    world. The growth has been even more in high income countries
    so that explanation doesn't work for the data in the article.
 
      doozy - 1 hours ago
      Yes, I'm aware of that. I wasn't talking specifically about
      the data in the article but about Python's growth in general.
      I don't believe the popularity of a tag in a forum is a
      reliable indicator of the growth of a language, it may simply
      be this forum becoming more popular among Python
      users.Python's rising popularity among the scientific
      computing community is simply not enough to support the idea
      of a dramatic increase in Python adoption. As a long-time
      user of the language I share your appreciation Python usage
      in the industry has not dramatically increased in the past
      few years.On the other hand, there's plenty of evidence
      suggesting Python is becoming increasingly popular outside
      high income countries.
 
  Alex3917 - 2 hours ago
  > To me, if anything I'm curious why python was so low
  percentage-wise in question views only five years ago.The
  majority of the top CS colleges switched to teaching using Python
  within the last five years. This provides a big reason for
  companies to use Python as well, since it drives down the cost of
  hiring.
 
    sametmax - 2 hours ago
    Same in France, it's the default language now.It also mean more
    questions in SO by a lot of lost students.And it means later,
    more Python devs on the market.
 
oxplot - 1 hours ago
Does the usage of a site like SO (where you ask for help)
necessarily correlate with growth of a language? Or more
specifically, does the difference between views of two different
languages on SO correlate with real world difference of growth
between those two languages?As a personal example, I've searched
for answers related to golang far less than I have for python
because I tend to find my answers by simply reading golang docs but
in case of python, docs do not help me as much so I turn to google
and consequently to SO.
 
amelius - 2 hours ago
What packages do people use mostly on Python? Those packages could
explain why Python is so popular.
 
  brianwawok - 1 hours ago
  Web people Django or similar and requests to make http... then a
  database driver. that gets you pretty far.
 
  FTA - 1 hours ago
  All the scientists I know on Python (N > 30) use matplotlib and
  (numpy or scipy or pandas). Some niche libraries for certain data
  formats are also necessary. These libraries are compatible in 2
  and 3, and are easy to install with pip or conda, so everyone
  I've shown them to has made the jump quickly from Matlab, IDL,
  and others.
 
goodoldboys - 1 hours ago
As someone who works with Python every day, this isn't surprising.
I forget where I heard/read it, but someone made the claim that
Python is the "second best language for everything" (paraphrasing)
and I couldn't agree more. Need to create a web app that interfaces
with a data pipeline? Python/Django/Flask is perfect. There are
countless other examples too.
 
[deleted]
 
singularity2001 - 1 hours ago
interestingly the curve starts to take off even before the
introduction of tensorflow
 
singularity2001 - 1 hours ago
one funny way to interprete the data would be: "the language gets
more and more complicated and batteries which used to be included
now have to be Inquired on Stack overflow."
 
hackbinary - 28 minutes ago
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 other Devs started to notice and
saw/felt that they were missing out on better and more advanced
tooling.  They then started to push to move their main environments
to Python/Django.  This has further been pushed by the business
stakeholders who have seen the Python/Django projects move much
faster than PHP projects.So for us, that is now 6 Devs on
Python/Django plus some consultancy support. So we've move from 2
python Devs to 6 Python devs within the last year.
 
andrewstuart - 2 hours ago
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.
 
  StavrosK - 1 hours ago
  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.
 
  pen2l - 2 hours ago
  Three of us (including me), in an academic lab, are making the
  jump from matlab to python. We use py3 (of Anaconda, on
  Windows10).We like it, but we are constantly screaming and
  bitching about the complications of 2<->3 ("Ahhh X and Y module
  only works on py2!", "Ahhh device developer only provides example
  code for Labview and Matlab!", "Ahhh python isn't even supported
  for this device/application!").Package management ("Do I use
  conda? pip? easy_install? compile?") is annoying, I hope that
  something like hatch (https://github.com/ofek/hatch) maybe takes
  over everything -- because I think the mess that is package
  management is THE biggest deterrent for newcomers.I think the one
  thing we are all learning from this experience is: JUST USE
  UBUNTU, doing python with Windows is a headache.All of that said
  -- python is nice, it's amazing, it's the newer, funner Java. It
  is incredibly approachable, it can do pretty much EVERYTHING
  because of the expansive availability of libraries, it's finally
  a programming language that is great to get my 7 year old niece
  started on.
 
    shepardrtc - 1 hours ago
    If you're using Windows, then WinPython
    (http://winpython.sourceforge.net/) is an absolute necessity.
    I have two separate installations, one for 2.x and one for 3.x,
    and I have zero issues.  Works amazingly well and comes with
    just about everything you need already installed and working.
    Can't say enough good things about it.
 
    epage - 2 minutes ago
    > "Ahhh device developer only provides example code for Labview
    and Matlab!", "Ahhh python isn't even supported for this
    device/application!").What kind of devices or libraries do you
    use from LabVIEW but there isn't Python support or examples?If
    its an NI product, some are starting to get Python supportDAQmx
    https://github.com/ni/nidaqmx-
    python/blob/master/nidaqmx_exa...XNET https://github.com/ni
    /nixnet-python/blob/master/nixnet_examp...DMM
    https://github.com/ni/nimi-
    python/blob/master/src/nidmm/exam...FPGA Interface https
    ://nifpga-python.readthedocs.io/en/latest/examples/basi...EDIT:
    All with Python3 support.
 
    heydonovan - 2 hours ago
    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.
 
      brianwawok - 1 hours ago
      Really? Pip should be pretty straight forward.  Maybe you use
      different libraries than I do.
 
        wlesieutre - 1 hours ago
        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 editor has a "Run script" function, it
        also needs to deal with "Activate the correct environment"
        for whichever flavor of virtual environment you've used.Any
        what beginner would be confused by tutorials using all
        sorts of different setups (virtualenv, venv, pyenv, pipenv,
        virtualenvwrapper, pyenv-virtualenvwrapper)? Most of them,
        I think."venv" is the newest one - shipped in the python3
        package except when it's not (Ubuntu, maybe others) and
        doesn't make copies of the python binaries for each
        environment. That always seemed wasteful to me, but I
        suppose it was the easy way around path problems with the
        ecosystem not having a solution built in.I love python when
        I'm only using the standard libraries, but if I have
        dependencies it's messier to set up than I want it to be.
 
        ufmace - 1 hours ago
        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 gem installed as you want, and still
        running a project with specific versions other than the
        latest.
 
          ATsch - 1 hours ago
          You can do this, but it's not as easy. The pipfile
          project is an effort to improve this.The current standard
          way to do this is with a virtualenv and a
          requirements.txt file in which you specify the version of
          your dependencies, which you can then install with pip
          install -r requirements.txt.Format is
          "packagename==0.1.0" (>=, < etc work too). VCS urls work
          too btw, e.g. "git+protocol://site/repo@tag_or_commit"To
          get something similar (but inferior) to lockfiles you can
          use "pip freeze > filename"
 
          asddddd - 11 minutes ago
          Look at Pipenv:
          http://docs.pipenv.org/en/latest/Packaging/distribution
          is certainly a mess.
 
    joshuamorton - 1 hours ago
    I'm curious, what issues do you run into with python3
    incompatibility?Most scientific stuff I've done works in
    python3. In fact, its now possible to run a
    tensorflow/opencv/scipy environment entirely from pip in a
    virtualenv, though it won't be the fastest. which is amazing.
    Doing that kind of thing in any other language would require
    docker.In general, if you're sticking to python3, the answer
    will always be "use pip", everything should work with pip, and
    everything should install as a binary without needing to build
    source.Edit:There's exactly one context where I use python2,
    and its for a robotics project where some transitive
    dependencies are python2 only.
 
      photojosh - 51 minutes ago
      Why won't it be the fastest? I didn't think there would be
      any difference between "native" in the system paths and in a
      virtualenv.
 
        joshuamorton - 41 minutes ago
        So, for things like tensorflow, you have to build from
        source to enable certain optimizations. Wheel's aren't
        source builds essentially.
 
    chrisseaton - 1 hours ago
    > it's the newer ... JavaPython (1991) is older than Java
    (1995).
 
    highd - 1 hours ago
    I highly recommend switching to the conda distributions and
    package ecosystem. A lot of those issues have gotten a lot
    better for me since I did that.
 
  kevin_thibedeau - 1 hours ago
  Jan 1 2018 is the day I abandon Python 2 for all greenfield
  projects.
 
    oliwarner - 17 minutes ago
    Why are you deliberately making things harder for yourself?
    You're going to need to upgrade these projects within three
    years. Just seems like a wasted opportunity not to get off on a
    strong footing.
 
    epalmer - 30 minutes ago
    I abandoned Python 2 around April 2017 for greenfield.
 
  melling - 1 hours ago
  Are most developers finally making the transition from Python 2
  to 3?
 
antod - 26 minutes ago
As someone who has been using Python since 2000 roughly, another
minor factor (besides the obvious data science factors) might also
be the decline in Ruby. Ruby (and Rails) growth in the 2005-2010
era, seemed to noticeably put the brakes on Python's previous
growth up till that point. Back then Ruby had all the
boosterism/hype and Python was the supposedly "boring/legacy"
option. Even now, Python's growth doesn't seem driven by hype the
same way Ruby's was. It always seemed to be a more pragmatic choice
rather than a fashionable one.Although somewhat ironically, I don't
use much Python any more now that I work at a mostly Ruby/Rails
company haha.
 
torbjorn - 1 hours ago
python has a cool name. as time goes on new kids learn to program.
kids choose the programming language with the cool name.
 
cs702 - 1 hours ago
This is probably related to explosion of interest in AI and deep
learning (DL), because Python has become THE standard language for
AI/DL research.Most AI frameworks support Python out of the box,
including TensorFlow, PyTorch, Theano, and CAFFE/CAFFE2, which
together currently have the most developer mindshare. Every single
TensorFlow, Pytorch, Theano, and CAFFE/CAFFE2 tutorial or example
is written in Python.With very few exceptions (e.g., the occasional
Lua code coming out of Yann Le Cun's group at FB), new AI papers
come with code written in Python.If you want to see Python's utter
dominance in this field, just search for "deep learning" or "neural
net" on github.
 
  nl - 58 minutes ago
  This is true. Even the Le Cunn group has switched to PyTorch I
  think.It's also because no one can work out how to use matplotlib
  properly, so you need to look at about 1000 StackOverflow
  questions per line of code.
 
    photojosh - 49 minutes ago
    To be fair, this was also true when I was using Matlab back
    before switching to Python (2006ish!), except you had to dig
    through documentation instead of just having everything
    immediately available on SO. :)
 
frgtpsswrdlame - 2 hours ago
It's just too easy. I never programmed a thing until after I had
graduated college and yet when I did start running into times where
I wanted a little script or program, it was always less than 100
lines in python to set it up.
 
granitosaurus - 1 hours ago
You have to give props to Python Foundation and just python's
community in general - very well managed on both sides.   PEP
proposals and the general pythons philosophy is still going strong
while new major changes are being introduced in every version
without breaking stuff.As someone who has been contributing to
python q&a websites and such for quite a while now, I feel like I'm
starting to have trouble of keeping up - a lot of new newcommers
but even more people willing to help!I'd be really be surprised to
see Python on a decline any time soon.
 
mylh - 1 hours ago
I'm a web developer and I love python because it provides me with
the fastest and shortest way from an idea to its implementation. In
most cases prototype works forever in production.  Rich standard
library and clear version support lifecycle are also very
important.  I developed with many other languages including java,
?++ and Haskell and python is my choice among all.
 
  StavrosK - 1 hours ago
  I agree (Django is life), but I find myself wanting the new
  optional typing and type checker to mature so I can add them to
  my set of linters. I'm tired of 1) not knowing whether I made a
  mistake and passed something of the wrong type and 2) not being
  able to see at a glance what types each function is supposed to
  accept and return.