
The Incredible Growth of Python - kjhughes
https://stackoverflow.blog/2017/09/06/incredible-growth-python/?cb=1
======
andrewstuart
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.

~~~
pen2l
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](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.

~~~
yladiz
I think you're right, the biggest pain for a general developer for Python is
determining which package manager to use. I'm thankfully insulated from it a
bit due to using Docker for a lot of my development, but I hate the fact that
Pip won't install to your home/project directory unless you coax it to (and
sometimes still won't even if you give it all the proper environment
variables), and I think virtual environments are not the solution (I shouldn't
have to think about _how_ to install a package or work on a project).
Especially coming from Node-land, and before that Ruby-land, Python seemed
like a wonderfully designed language but with terrible package managers. From
what I remember Pip is going to change the default to install on the home
directory sometime in the future, but it shouldn't have taken years of
discussion to come to the conclusion that it's the right thing to do.

~~~
thanksgiving
I like python3 -m venv myfolder; source myfolder/bin/activate;

It is the easiest way to use python3 because even fedora (one of the more
bleeding edge) likely won't finish migrating 2 to 3 in current year.

Why do you not like venv? What could be done better?

~~~
yladiz
I don't really like virtualenv because you have to activate it to do anything
and deactivate it if you want to go to another project or work on something
unrelated. I'd much rather it work by the project directory so I don't have to
worry about the activation part (this is why Node's package manager, for all
its issues, is great: you install in a local folder unless you explicitly
supply the -g flag). At least I should be able to install packages to my home
directory.

~~~
thanksgiving
Ah yes. Local by default would be nicer.

~~~
yladiz
I still think that the "project" directory is best, but I'm glad that Pip is
moving to local-by-default in any case. It won't take away from the necessity
of virtualenv for cases of different dependency versions, e.g. Django 1.4 and
1.10, I think, unfortunately, but it's definitely better than global by
default.

------
goodoldboys
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.

~~~
pbreit
I agree that Python works well for just about everything but wish there was a
framework between Django & Flask.

~~~
abledon
Use Django and strip out the middleware and admin/authentication addons.

see
[https://github.com/lightweightdjango](https://github.com/lightweightdjango)

~~~
pbreit
auth is a must-have (i've never written an app that did not need basic auth)
and admin is a very, very nice to have. It still feels "thick" to me in other
areas.

------
cs702
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
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
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. :)

~~~
princeb
the matlab documentation, imo, is the best technical documentation ever
written for anything. if your background was more math-heavy then the docs
provided easy to understand translation between recognizable mathematical
idioms into code (if matlab wasn't already very math-idiomatic).

and back in 2010 or so, python's numerical optimization libraries left a lot
to be desired, and totally hopeless compared to matlab. (edit, i don't
remember it being nearly as good as octave, which wasn't particularly good
either back then).

~~~
cossatot
Matlab's documentation is really good, except when you need to look at the
algorithm and can't because it's closed-source...

~~~
princeb
hmm... no? I think you can hit ctrl-d or some shortcut like that to go
straight into the code of the function that you are interested in, and it can
be functions written by matlab.

------
nstart
Predicting it now. A large part of the "why" is going to be because of the
jump in data science. Python is an incredibly kind language to new comers in
the sense that it allows you to just get started. A lot of people are making
bigger jumps into data science (purely anecdotal) in the sense that they are
programming more around it. Scraping data, cleaning data, etc is also really
easy with Python.

Devops stuff is also a great one to pair with Python.

Reason I'm predicting this: I've kept an eye on Python+Flask /Django jobs for
over a year now, and while I see "Python" show up more frequently now, "Flask"
and "Django" are still about as frequent as they were in the past.

Looking forward to the "why" post. Glad that they mentioned that they'll be
publishing that soon.

~~~
uvtc
> Looking forward to the "why" post. Glad that they mentioned that they'll be
> publishing that soon.

I think the "why" is because, for _many_ users:

* they want a small and easy, dynamically-typed, garbage-collected language with few surprises (see `import this`). Perl misses out here.

* they want something built with C so there's easy access to native libraries. Languages on general-purpose VMs miss out here.

* I don't think they want something that transpiles/compiles down to some other lower-level language (which I suspect leads to difficult debugging). Maybe Nim misses out here.

* they're comfortable with imperative-style programming. Maybe lisps and Haskell miss out here.

* Python is fast enough for most things where C-speed isn't needed. Very-high-level languages chasing dreams of high performance mostly miss out here, IMO.

* they want a language that helps them catch their mistakes. IMO, maybe Lua misses out here (with default nil everywhere).

* Users want a general-purpose language. Again, Lua misses here, though, of course, Lua's goal isn't to be general-purpose anyway.

* I think many users also want a language that's licensed GPL-compatible. Clojure misses out here.

* they want a nice helpful community

* Users want a language with familiar C/C++/JS/Java -ish syntax. Python misses out here! {ducks}

Python has its own set of problems, but it hits all those marks except for the
last one. So, it's gotten quite popular.

~~~
tim333
A lot of people like the Python syntax. It has to be about the most readable
of all computer languages.

~~~
uvtc
> A lot of people like the Python syntax.

Of course.

> It has to be about the most readable of all computer languages.

Quite readable, sure. Though my point is that curlies and semicolons are more
familiar to many (and easier to edit/navigate in my editor, for that matter),
and probably would be preferred. My comment was about why I think _many_ (not
all by any stretch, of course) choose a language like Python.

------
dopeboy
Three years ago, I was shutting down my startup which was a webapp built in
PHP using my own framework. I decided I was going to consult and I also
decided it was time to learn a professional, modern framework.

At the time, RoR was hot and I was leaning towards it. Laravel felt good too
because it was new and it seemed to do PHP web "right". The last option was
Python and Django. What I liked about the latter is that data science seemed
(still is?) the lingua franca of data science and I figured I could learn web
programming and build up my Python skills that I could one day apply towards
data science.

I ultimately went with Python and haven't looked back. Django (particularly
DRF - shout out to Tom Christie if he's reading) has been an utter joy to work
with. Even though we're in the era of fat front-ends, it's nice to have a
bullet-proof, well supported backend.

Python donation page:
[https://www.python.org/psf/donations/](https://www.python.org/psf/donations/)

Django donation page:
[https://www.djangoproject.com/fundraising/](https://www.djangoproject.com/fundraising/)

Django rest framework donation page: [https://fund.django-rest-
framework.org/topics/funding/](https://fund.django-rest-
framework.org/topics/funding/)

------
antod
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.

~~~
cutler
I don't think hype is the main factor. Ruby's decline is due to its narrow
focus on web development and Rails in particular. Whilst there certainly are
gems covering other areas of computing Ruby never seemed to diversify the way
Python has. With Node.js eating Ruby's lunch in the web development sphere
Ruby is left looking like the single-commodity Venezuelan economy. Let me add
that I think Rails is a fantastic piece of software. Maybe TruffleRuby and
Substrate VM will revive Ruby's fortunes. Matz's promises for Ruby 3x3 are too
little too late, I fear.

~~~
swat535
Having done both Ruby and Python, I confirm that they are pretty similar
languages, both performance wide and syntax wise.

Python is mainly popular because of historical reasons. Not because of some
magical functionality it has over ruby, here are a few key points:

Ruby was created in 1996 and Python in 1989. Python was the main language
chosen by academia because at the time no one really knew about ruby, until
its later explosion in popularity thanks to Rails in 2000's.

It was initially used at google which gave it a huge boost

It is also the go to language in the scientific community.

Ruby_can_ become a perfect candidate along side python should there ever be
competitive enough scientific libraries just like NumPy, SciPy and so on.

That being said, I love both languages and communities!

~~~
cutler
Ruby suffers from indifferent stewardship. Yes Ruby could have competed with
Python in the scientific sphere but it didn't and now it's too late. I
actually think Ruby is a better language than Python, by the way.

------
hackbinary
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.

~~~
eighthnate
> 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.

~~~
tcdent
Absolutely false.

While PHP has gotten better recently, the language is not nearly as powerful
or complete as almost all of the popular alternatives. Up until very recently,
something like the Django ORM was impossible to express in PHP. Take an honest
look at the available frameworks (especially in comparison to something
archaic like Drupal) and you'll find there's no competition.

~~~
acomjean
Python certainly has a lot more software written for it. I use it for
scientific computing.

For building websites, php has plenty of good options too. I do really like
the Silex framework for website construction. I backend process with java or
python when needed to do any substantial computations.

The "standardization" on common libraries from symfony and zend, have made
everything a lot better.

~~~
tcdent
Referencing a micro-framework shows just how out of the loop you are. A better
example of a PHP framework is Yii, but you still see tons of ambiguous arrays
used because of the lack of expressiveness in the language.

Zend is not even a contender for modern web application development. And
again, the gratuitous use of arrays for configuration highlight the
shortcomings of PHP.

~~~
girvo
And mentioning Yii here instead of, say, Laravel or Symfony (though I loathe
the latter) makes me wonder how in the loop you are, yourself.

I've not been a PHP developer for years. I wouldn't go back to it. But
pretending it can't compete with Django is one of the weirder things I've seen
on HN in a while.

~~~
tcdent
Django everyday since 0.9.6 Still an active maintainer of a small PHP lib,
though.

> I wouldn't go back to it.

That's what I'm expressing: there's no reason to choose PHP in 2017. This
isn't misdirected 'PHP hate', but a genuine disagreement with the OP's
statement:

> There is nothing inherently "more productive" on one stack over the next.

------
oxplot
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.

~~~
rb666
Not the usage in absolute terms (as it may just indicate the language requires
a lot of SO research to do anything useful), but the growth of such usage
would seem to correlate with growth of the language.

------
zimablue
I moved from my last job (mostly C#/vba, front office finance)to a new role
(python, data guy at hedge fund).

Doing data stuff and simple web services is absurdly more straight forward in
python, the main things I miss (weaknesses of python to C# and I'm guessing
java):

nice parallel options (I know several options exist but haven't found any of
them as easy to get into as C# async/await, GIL is the problem i guess)

the django database layer doesn't do smart diffs in the same way as .net db
projects (in .net it's smart enough to actually look at your code schema vs
the database and work out how to roll forward/back, in django it's just using
a combination of your code schema and a table describing what has and hasn't
been rolled out yet, making everything a bit scarier and tougher if anything
goes wrong. I dunno if SQLAlchemy does this.

edit: also I once read a HN comment that a problem at the heart of python is
that block-syntax forces you into having only trivial inline lambdas, after
writing it for a while I think they might have been right

~~~
mixmastamyk
Trivial lambdas make Python more readable than highly nested languages.

------
frgtpsswrdlame
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.

------
jzl
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.)

~~~
coldtea
> _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
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.

~~~
coldtea
> _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 kind of bias on SO I can't think of any
alternative explanation that actual growth.

Now, what that growth was based on, that can have many explanations, sure.

~~~
jzl
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...](https://www.loggly.com/blog/the-most-popular-programming-languages-in-
to-github-since-2012/)

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.

------
tankerdude
It's multiple reasons why Python is gaining traction again. One of them is
definitely due to all the data science that uses it.

The second though is that schools are also making the switch from Java to
Python as their first language.

So the folks learning are searching for a bunch of packages and I suspect a
number of the easier questions.

------
twobyfour
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
Hmm. Interesting that JS's cycle is the inverse of Java's. People learning
Java during term-time, then JS during their holidays?

~~~
pen2l
In their holidays, people make websites ("The next facebook!"), at term-time
they make sodoku solving applications in Java for programming class.

~~~
falmak
Is "the next Facebook" really what today's students dream of building? It just
seems a bit... dull. When I was a student we all wanted to create "the next
<popular AAA game>".

~~~
goatlover
The next VR Snapchat?

------
valuearb
Isn't this just proving Python is the language that people need the most help
with?

------
mylh
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
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.

~~~
SimbaOnSteroids
How large, in your experience, does an app need to get before it outgrows
django?

~~~
StavrosK
I'm not sure, I haven't managed to write an app that large yet. I'm also not
sure how you can outgrow Django, since you can always split off parts of your
codebase, or not use the parts of Django you don't need.

I've recently written a flask application too, and I found myself having to
reinvent the wheel at every step, and I cursed a lot. Django's ecosystem, both
in libraries and in sheer community documentation, is hard to replicate.

------
s17n
Python is pretty much becoming the de facto language of academia (outside of
CS). I wonder how much this is driving overall Python usage?

~~~
ohsonice
Grad student at a math department here- I see python used in tons or research
applications with fellow students studying math, engineering, stats, etc. But
in my experience Matlab still reigns king in math academia, especially in
classroom environments.

------
agumonkey
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 ?

~~~
kirse
_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.

------
kagamine
I do my hobby development on Linux, Python 2.7 and 3.x are always installed
but 2.7 is the default. What is the future for Linux distros dropping 2.x and
moving only to 3.x?

My understanding is that Linux requires 2.7 as the default version, but it
means development is a minor PITA, I have to set up v3 and use pip3 (iirc)
instead of just pip and type python3 in the shell instead of just python. It
appears minor, but it can get a bit annoying for a Python newbie.

~~~
nyrikki
Linux doesn't require 2.7, and will be switching soon. But you can remove most
of the pain from a future migration by just adding the following to all your
2.7 code and changing your code.

Note that these future modules were all available in 2.6 which was released in
2008. But just like the ruby 2.0 upgrade people procrastinate. But you only
have 2 years before python 2.7 is no longer maintained.

from __future__ import (absolute_import, division, print_function)
__metaclass__ = type

------
santaclaus
Python is such a good get-shit-done language. I've been diving into the Qt
bindings at work recently, and I've gotta say, these are hella underrated.

~~~
mherrmann
I'm using PyQt as well for my file manager [1]. You may be interested in a
wiki I maintain for things I had to learn "the hard way" [2].

1: [https://fman.io](https://fman.io)

2: [https://github.com/mherrmann/pyqt-
resources](https://github.com/mherrmann/pyqt-resources)

------
cutler
Searching Indeed.co.uk by title I've noticed Django gradually gain a 10% lead
over Rails in the last 12 months. Python:Ruby is currently 2.9 for London and
3.2 nationwide. I think Django's rise is due to the increased adoption of
Python generally and also the meteoric rise of Node.js in the same space as
Rails.

------
herogreen
The French grande école d'ingénieur in CS & applied Maths in which I study
made the switch from Ada to Python as the first language teached last year.
Before that I saw all the French Higher School Preparatory Classes starting to
teach C.S. with Python3 in 2013.

So I am happy to see that many of France's higher education establishments
made the right move.

------
solomatov
My hypothesis is that all this caused by data science, machine learning, and
deep learning. R is quite cryptic and hard to learn. Almost all new libraries
for DS are written in Python.

Also, in favor of this hypothesis is that rich countries are ahead of the
curve in DS adoption. It's much harder to find a DS job in a developing or not
so wealthy developed country than in US.

------
d--b
I know I shouldn't feel that way, but as a developer who loathes Python, this
is a painful read. I start to feel that if I can't fight the trend then I
should join it. But then every time I try Python, I feel such unease because
of the low performance and the dynamic typing.

It's just something I don't understand... this is really depressing to me.

~~~
dom96
You might find Nim[1] to be a worthy alternative. I primarily see it as a
compiled Python with good performance and static typing.

1 - [https://nim-lang.org](https://nim-lang.org)

~~~
d--b
Oh, usually I am wary of trying new languages but this looks very cool indeed.

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

~~~
coldtea
Don't hold your breath. Nim doesn't have the kind of ecosystem, and hasn't
shown signs of having one.

~~~
dom96
I'm curious what the ecosystem for Python looked like in ~1999. Did it show
signs of having the ecosystem it has now in those years?

I'm certain that almost everyone dismissed it due to its syntax (there are
still people out there that dismiss it because of that).

~~~
nimmer
> what the ecosystem for Python looked like in ~1999

Very small. The language was not popular and many people claimed a community
project could not overtake languages backed by companies. Same for the Linux
kernel.

~~~
dom96
Thank you for supporting my point. However, based on your nickname I wouldn't
be surprised if you were a little biased :)

I would actually love to read some forum/mailing list posts about this. If
anyone has any links handy (or knows where to find them) then please post
them.

------
qu4ku
python is beautiful. period.

------
amelius
What packages do people use mostly on Python? Those packages could explain why
Python is so popular.

~~~
FTA
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.

------
singularity2001
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."

------
singularity2001
interestingly the curve starts to take off even before the introduction of
tensorflow

------
granitosaurus
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.

------
calsy
PHP or GTFO.

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

~~~
kaffee
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.

~~~
nol13
no name could make java cool

~~~
henryscala
:-)

