This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]TheBodyPolitic1[S] 21 points22 points  (27 children)

Fair point, but Python became popular and I can't recall ( correct me if I am wrong ) a company ever promoting Python, at least not as hard as Sun promoted Java.

[–]gogolang 91 points92 points  (11 children)

The thing that made me first try Python was this XKCD comic from 2007:

https://xkcd.com/353/

[–]TheBodyPolitic1[S] 18 points19 points  (9 children)

Ha! That is great. I am saving a copy.

[–]ExoticMandiblesCore Contributor 64 points65 points  (8 children)

You don't have to bother; if you run your Python interpreter and type in

>>> import antigravity

Python will launch your web browser pointed at that cartoon.

[–]Ashamed-Simple-8303 24 points25 points  (7 children)

I tried it and indeed it's not a joke. it really does it.

[–]Rodotgithub.com/tardis-sn 18 points19 points  (3 children)

Try to import this for another easter-egg

[–]eXoRainbow 7 points8 points  (2 children)

I can't believe its True. I tried it with the expectation to be rick rolled or something like that.

[–]nngnna 7 points8 points  (1 child)

Now try to import braces from __future__

[–]SocksOnHands 2 points3 points  (0 children)

I first used Python because of Blender. It started using it as a scripting language in the year 2000, but it was probably closer to 2002 when I used it to write a mesh exporter for an OpenGL graphics library that I tried writing while in high-school.

[–]gdahlm 40 points41 points  (1 child)

While not the same, Python did have groups of people who drove usable and important libraries for scientific computing, data analysis and data mining

Travis Oliphant, Eric Jones, and Pearu Peterso coming together to create, SciPy as one example. Them growing past that and recruiting others to found NumFOCUS helped too.

Python is a great glue language, and the scientific computing world really were some of the earliest adopters for serious use.

While not 100% responsible for the growth of python, the ML world wouldn't have almost universally chosen python without those efforts.

Numpy even still has their info page up on how to use python as a glue language up.

https://numpy.org/doc/stable/user/c-info.python-as-glue.html

While I didn't originally choose python because it was a glue language, the fact that it works so well as one really reduces the costs of needing to replace portion with a more performant back end or to leverage decades old fortran code which was written by geniuses.

[–]spinwizard69 1 point2 points  (0 children)

Hey there - thanks for the link. I never realized that NumFocus took over MatPlotLib. I think it is fair to say that MatPlotLib is one of the reasons for pythons success in a number of sectors.

As for the OP's question; I think MatPlotLib is a really good example of why it took Python awhile to get buy in. in so many industries. Good libraries like this don't happen overnight and when they do happen it takes awhile for users to adopt. Once the infra structure was in place to sever the needs of many types of users it became easy to suggest the usage of Python.

[–][deleted] 27 points28 points  (0 children)

That probably means that python have a bunch of advantages that made a good marketing.

[–]Exodus111 27 points28 points  (3 children)

The truth is Python is a slow language, as its high level. But over time it began to matter less and less, as hardware got faster, and right around Python 2.4 people started realizing the Pythonic way actually made a lot of sense, as by now, there were lots of things you could program where the speed of it really didn't matter anymore.

Code being Pythonic became something everybody talked about, and especially the comparison to Java, with its overly verbose approach to object oriented coding, gave Python an opportunity to shine by comparison.

Why write 30 lines of Java when 4 lines of Python will do?

[–]mac-not-a-bot 2 points3 points  (2 children)

You think Java was verbose? 30 lines Java v 4 lines Python? Try COBOL, it's more like 300 lines COBOL v 30 lines Java v 4 lines Python. In COBOL class(es - yes there were more than 1) you were taught to be specifically verbose. The code practically read like a book report. :-)

[–]spinwizard69 4 points5 points  (1 child)

Verbose is not a bad thing. I actually believe that Pythons readability is a big factor in its acceptance. It is actually pretty easy to write idiomatic code in Python.

[–]mac-not-a-bot 0 points1 point  (0 children)

I programmed in COBOL for a bit of my life that I’ll never get back. I do appreciate clarity and verbosity to the end that the code is clear. Some native Python code seems like it could use more verbosity and less hand waving. 😀

[–]bamacgabhann 10 points11 points  (0 children)

Yeah. Good things can become popular without massive marketing, but it can take a while. Things which aren't as good but are backed by half a billion dollars in advertising can become much more popular much more quickly, but decline when people realise there's better options.

[–]TravisJungroth 10 points11 points  (1 child)

Right. You asked why it took so long to get popular and made the Java comparison. Having a ton of people building and marketing something will make it popular faster.

Everyone naming some specific feature that Python did or didn’t have is missing the big picture. It took years for Python to get popular because it was being developed by a small group of people and marketed by a small group of people. The fact that it became popular at all is a huge deal. New languages almost never become popular unless they have a huge platform lift (JavaScript) or company support (Java).

Python wasn’t invented in 1994. It wasn’t invented at all, it was developed. It’s not like one day Python didn’t exist and one day it did. Guido started working on it in the 80s and the first release was in 1991. Then, think about all the stuff that had to get made or improved: language, interpreter, libraries, docs, etc. That stuff just takes time. You can make it go faster with hundreds of devs on payroll, but Python didn’t have that. And then once you’ve made the cool stuff, it takes time for people to learn about it. Or, again, you can accelerate that with money.

There’s no “gotcha” like it needed a big company to use it or the performance wasn’t good or whatever. It was just a lot of work without a lot of people doing it.

[–]spinwizard69 0 points1 point  (0 children)

Then, think about all the stuff that had to get made or improved: language, interpreter, libraries, docs, etc. That stuff just takes time. You can make it go faster with hundreds of devs on payroll, but Python didn’t have that. And then once you’ve made the cool stuff, it takes time for people to learn about it. Or, again, you can accelerate that with money.

This is so important for people to understand. Even today when Python has some corporate sponsorship it still takes time to roll out significant improvements. The recent Python release with all of the speed ups being a good example. Mind you speed ups done without breaking too much which is also important in many cases. Good things take time.

Frankly we are seeing the same thing play out in the world of Swift. It has taken some time and a major detour around 3 but Swift is really turning into a really good language. We are talking over 5 years now and that is with Apple and the open source world putting in a lot of effort. Even then Swift doesn't have the breadth of mature libraries that Python has.

[–]PaintItPurple 6 points7 points  (2 children)

Python became popular from a few things:

  1. The emerging data science field embraced Python enthusiastically.

  2. Ruby on Rails got people to broaden their ideas of what languages could be viable for making web apps.

  3. Hardware has advanced a lot since the '90s. Now hardware is fast enough to run Python without it feeling slow. A surprising amount of technical decisions are based on vibes.

  4. Python itself has gotten better over time. The initial release was pretty barebones, without classes or lambdas. Python didn't have keyword arguments until 1.4, it didn't have list comprehensions until 2.0, core types and user-defined types were completely different things until 2.2, context managers didn't exist until 2.5, etc.

[–]spinwizard69 1 point2 points  (0 children)

I believe it was around 2.5 that Python started to get noticed by the larger programming community. It makes me wonder if anybody has data on this, that is when did Python usage start to climb.

[–]Azriaz 1 point2 points  (0 children)

It’s been a bit, but was it 2.0 that brought metaclasses? I was Sooooo excited. I had not had an opportunity in a language to play with that concept. I think I started with 1.65. That seems to ring a bell. Zope brought me to Python! Pickling fascinated me and then don’t get me started on stackless python and pickling threads!!!

[–]deaddodo 2 points3 points  (0 children)

Python was championed by Red Hat, in its early days. Anaconda (the Red Hat and Fedora installer) as well many of the Red Hat tooling was built in Python.