Live data from Hacker News

Why Python keeps growing, explained

github.blog

21–30 of 459 posts

Re: Why Python keeps growing, explained

#21

Comparing Python to Java 8 and saying it’s more readable isn’t showing much. And it’s not very portable the second dependencies with native code (which is common since pure Python is too inefficient for many tasks) are used. I think Python is popular for two reasons: - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? - it has an enormous set of librari…

> - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? I am leaning more towards it looking like pseudocode > - it has an enormous set of libraries available to use I believe that to be the actual reason. I've long held that python is a kinda bad language, but with FANTASTIC libraries

beginner programmers don't know pseudo code either though!

the best teaching language (imo) is one with few features or surprises. I think Scheme might come out top here.

Re: Why Python keeps growing, explained

#22
post #14

Comparing Python to Java 8 and saying it’s more readable isn’t showing much. And it’s not very portable the second dependencies with native code (which is common since pure Python is too inefficient for many tasks) are used. I think Python is popular for two reasons: - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? - it has an enormous set of librari…

A third point is that python is the default scripting and plugin language in a lot of popular commercial and professional applications. A lot of people I know who learned python did so to automate or extend applications they used for their 'real' work, like ArcGIS, FME, Rhino/Grasshopper, Revit/Dynamo etc.

Indeed. I wish Microsoft would push F# as the default macro language for Excel.

Re: Why Python keeps growing, explained

#23
post #11

Python keeps growing in number of users because it’s easy to get started, has libraries to load basically any data, and to perform any task. It’s frequently the second best language but it’s the second best language for anything. By the time a python programmer has «graduated» to learning a second language, exponential growth has created a bunch of new python programmers, most of which don’t consider themselves progr…

Yeah, big corp big data web scale systems use python too.

Re: Why Python keeps growing, explained

#24

Comparing Python to Java 8 and saying it’s more readable isn’t showing much. And it’s not very portable the second dependencies with native code (which is common since pure Python is too inefficient for many tasks) are used. I think Python is popular for two reasons: - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? - it has an enormous set of librari…

The classic "public static void main" example is also getting old. It's been so long since I last wrote it, that I actually had to copy/paste it from the article. I just generate a new project from the "Spring initializer" plugin and jump straight into the real work.

If we want to measure developer productivity we should try to compare actual real world usage that goes beyond "hello world" using Notepad. The author did provide more examples in the article, but I think we should just retire the basic minimal hello world example for these types of discussions.

If their argument is that Python is simpler for quick scripts and programs, I agree. The same applies to ML / AI where Python has lots of great tools. Once you start looking at other areas (Django and FastAPI), there are many alternatives based on other languages where you can be just as productive.

Most of the time consuming work is spent doing business logic where the differences between languages doesn't matter as much. They all have advantages and disadvantages. Personally I prefer static typing for larger projects and teams.

If their argument is that Python is better in general, they need to provide better arguments.

Re: Why Python keeps growing, explained

#26
post #19

Earlier quoted context omitted.

> but with FANTASTIC libraries written in C _and FORTRAN_ ftfy - it's the only way a tragically slow language like Python can keep up. Edit: didn't forget FORTRAN

libraries written in C That is simply not true. Even libraries like numpy, scipy and scikit-learn are majority python code.

Majority python code, being ~60% is mostly wrapper code, with the slowest parts (the parts that matter) written in C.

https://stackoverflow.com/questions/1825857/how-much-of-nump...

Re: Why Python keeps growing, explained

#27
post #18
post #7

Eh, they're just a lot of ways to say "path dependence". Scripting languages are basically the same exact technology with respect to each other. In the alternate universe where numpy and scipy are, let's say, numruby and sciruby, wouldn't we be here asking why Ruby keeps growing? That's not a sales pitch for python, it's a sales pitch for the concept of a scripting language; it's like saying "you should really buy a…

I admit I have a blind spot for Python, because I use PHP in my day job, so when I need to do some scripting, I mostly use PHP. But admittedly Python is a lot friendlier than some alternatives (Perl, Shell scripts etc.), and more universal than others (PHP being mostly used for web dev), so that's why people choosing a scripting language for their tool/library tend to choose Python.

I use Python all the time both for my personal stuff and for some side-projects at work, so this isn't a dunk on Python, but honestly it feels like a circular thing: it's popular because it's popular.

I wouldn't say it's friendlier than the alternatives, Perl and Shell scripts sure, but not when compared to Javascript, Ruby or Lua.

Now, if you're talking about libraries, support, etc. then sure, Python wins hands down, but that doesn't make it a better language in itself. I'd say Ruby and Lua are a little bit better as languages.

But then again, I don't care much for the language in itself, so Python is enough for most of my use cases.

Re: Why Python keeps growing, explained

#28

Earlier quoted context omitted.

> - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? I am leaning more towards it looking like pseudocode > - it has an enormous set of libraries available to use I believe that to be the actual reason. I've long held that python is a kinda bad language, but with FANTASTIC libraries

> but with FANTASTIC libraries written in C _and FORTRAN_ ftfy - it's the only way a tragically slow language like Python can keep up. Edit: didn't forget FORTRAN

Eh, you massively overestimate the importance of performance.

For the vast majority of use cases, performance just isn't a priority. Doubly so for Python, that shines for simple automation, command line applications, and perhaps some serveless computing.

Being easy to write, having a good ecosystem of libraries, and being widely known is typically good enough. I wouldn't use Python to write a robust backend server side application, mostly because the language doesn't lend itself well for it.

Re: Why Python keeps growing, explained

#29

Earlier quoted context omitted.

> - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? I am leaning more towards it looking like pseudocode > - it has an enormous set of libraries available to use I believe that to be the actual reason. I've long held that python is a kinda bad language, but with FANTASTIC libraries

> but with FANTASTIC libraries written in C _and FORTRAN_ ftfy - it's the only way a tragically slow language like Python can keep up. Edit: didn't forget FORTRAN

Does it matter?

Re: Why Python keeps growing, explained

#30

Comparing Python to Java 8 and saying it’s more readable isn’t showing much. And it’s not very portable the second dependencies with native code (which is common since pure Python is too inefficient for many tasks) are used. I think Python is popular for two reasons: - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? - it has an enormous set of librari…

> - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace?

Good bait. I'll take it.

- dynamic, weak (really "duck") typing, meaning users don't have to worry about conversion between things. Want to print() a dictionary of whatever? Sure!

- no semicolons to terminate a statement. End of line, that's it

- rich standard library, so you can actually get going on things without having to go on a quest to find the right library for your thing. JSON? It's right there. argument parsing? argparse. Http? http.client works...

- also yeah the "pseudocode" thing. Python is light on extraneous syntax.

Now eliti^H^H^H advanced programmers will frown on many of these same things that make it beginner-friendly...

Dynamic typing means that complex designs have to be careful with their APIs, lest you can get tangled up in deep type errors if you're not careful (I particularly hate the "mix-in" pattern). No semicolons mean, uh, long statements need to escaped? The standard library is "where lib go to die" because they can't evolve as much. "Significant whitespace!? What is this, COBOL!?!11"

Post reply on HN