Why is Python so popular?

I don't understand it. I've used it, and it's alright. What about the language inspires its level of popularity?

Attached: python.png (601x203, 82K)

Other urls found in this thread:

youtube.com/watch?v=NfngrdLv9ZQ
paulgraham.com/pypar.html
youtube.com/watch?v=b57JIFCQg54
twitter.com/NSFWRedditGif

its powerful and simple

So is Brainfuck.

Because Python is awesome
youtube.com/watch?v=NfngrdLv9ZQ

I like to contemplate writing programs using nothing but the NAND operator. The almost hallucinogenic purity of it!

If you're doing data science shit then pandas and numpy are amazing.

Not only does the language have all the necessary syntax sugar, but the stdlib is fucking massive too. You can write a lot of shit before you need to download 3rd party packages which are also numerous.

Unlike js, there are no retarded language features that they can't remove from the spec
Unlike php it actually has a spec
Unlike C you don't need to reinvent the wheel with many lines of code for everyday functionality
Unlike R it has integrations

Not to say that's it's the best tool for all jobs, but it's certainly good enough 90% of the time.

Standard library is very extensive, which makes it a nice place to go to if you want something right on top of C/C++. It has made further libraries and packages easy to make.

>Unlike R it has integrations
What do you mean?

Like, more libs. R is good for stats, but so is numpy. However there are fewer other libs you can integrate it with. Eg. Can you as easily tie R code to the web as you can with numpy using django/flask?

If you have different teams working on stats and web separately, it might make more sense to let each of them use what they want and then integrate it somehow. But if it's just a few people working on all parts of the code then it would be easier to use one language. No need to figure out how to communicate/serialize data either.

Thanks
I aggree with you
Especially with the use R only for statistics and integrate with other language and systems for anything else
In fact I worked on this exact thing lately

it's comfy as fuck

Is it gud for gui applications for windows?

Large amount of good libraries.

On Windows you have two options
- qt - cross platform but draws everything itself
- wxwidgets cross platform but relies on the native system libraries

I only do qt dev now but from what I remember wxwidgets wasn't bad on windows. That's probably what you want since qt is fat and windows users don't usually already have it on their system.

Probably should have answered the question itself

Yeah man

It's accessible to the non-technical.

I'm not a huge fan of python, but I will try to give you an unbiased answer.


The success story of Python is similar to Java, PHP or JavaScript:
Python became popular because it filled a niche at the right time. If Ruby or Lua were made earlier maybe nobody would use Python today, who knows?

Python was actually meant as replacement for Bash and Perl, because bash wan't powerfull enough and Perl was to quirky for some folks.
Python provided a smaller and easier syntax with as little special characters as possible (remeber that in easly Python partheses were mostly optional).

The lack of the "jungle of braces" also made it attractive for Programmers who were annoyed by Java or C, but were confused by Perl's many ways of achieving things. Python provided a good middle ground of clean and easy syntax while being reasonably fast.

Because it was apparently easy to learn it was also adopted to many universities as "first programming language" instead of Java (who is a pain in the rear for many students).

But the adoption for uuniversites also made it interesting for the scientists at the universities, because as someone who is doing chemistry all day you don't have time to learn a big syntax but want a langauge that "just werks"..


So the biggest user groups of python are:
- data analysts and scientists (in competition to R, C, Java or even Fortran)
- information security and "hackers" (as a scripting and glue language in competition to Perl and Ruby)
- freshmen at the university (as replacement of Java, C++ or Lisp as first programmign language)
-web developers (in competition to Ruby, Golang, PHP, Node.js and what not..)


All in all python's main selling point it that it's versatile. For webdev it's not as good as Ruby or Golang (Golang: much faster / Ruby: same speed, but Rails > Django); for penetration testing it's about the same as Ruby (Metasploit) or Perl. For DataSci it's not better than R.
But Python can do all those things reasonbly good.

Thanks

thanks for the thorough answer!

Because the alternatives at its time were Perl and Tcl. So the dumbfags looked at its syntax (not considering its semantics) and found it to be easiest on the eyes.
It's a good warning story for language designers who think syntax doesn't matter.

user means Python is more of a general purpose lang than R, which is true. R is for stats-fags only!

I use python for most of my scripts but got I hate this smug fuck

Because most people are stupid

You forgot tkinter

But literally no one uses that, not to mention it's ugly

because nobody cares about performance

This thread is surprisingly civil.

Because of Numpy.

And unlike other languages version jump caused big war 3 vs 2.7

In the middle 2000s Python got evangelized all to fuck and back. Started popping up in academia, as the scripting language to Blender3D, as the default language for GIS operations if you want to map/survey some shit - etc. This started a feedback loop of people who'd otherwise be normie who now know Python and want more shit in Python. Also this cancer got completely taken out of context:
paulgraham.com/pypar.html

"If I write Python it means I'm smart!"

So it's gone from, "I want to learn Python for the joy of learning a new language and utilizing its features to solve problems in a novel way" to "I have to know python to do my job because the normies spread that shit everywhere like AIDS."

Attached: 1463169912803.jpg (3072x3440, 2.77M)

Someone will always be unhappy
>Muh legacy features and backwards compatibility
>Muh fix old problems by breaking backwards compatibility

Welcome to nu-Jow Forums..

This

pyqt is slow as fuck
youtube.com/watch?v=b57JIFCQg54
pyqt vs javafx

initial ease of use, ubiquity, large ecosystem

fpbp

It's easy and quick to actually make stuff.
It's Lisp without Jewry.
Two things Jow Forums can't stand.

This post is too smart for Jow Forums.

>hurr durr i want pointless angry spergy autistic discussions like the good old days!

Attached: 7642212468_1c6e92473b_c.jpg (800x538, 157K)

Fast, interactive prototyping. Performance is a non-issue because you should use it as a wrapper for faster languages.

>DataSci it's not better than R
R is shit

>in competition to [...] C [...] or even Fortran
completely different use cases. Python mostly wraps C and Scipy wraps Fortran.

t. scientific computing faggot

It is incredibly easy to write it.
Getting the main problem resolved and then optimizing speed with faster languages like C++ is pretty good desu.