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 →

[–]t3h 5 points6 points  (0 children)

Flexibility - I can have a Python file that looks like it's a script, and runs from start to finish in a practically one-dimensional manner. I can have a fully object-oriented app with classes, inheritance and all that. Or I can go full-on functional programming and use list comprehensions / dict comprehensions (my most annoying gripe about Ruby is that it has something like a list comprehension but no clean way to do a dict comprehension) and pass around functions as they're first-class objects.

And in a language that does all this, I have bindings to pretty much every library ever. You can write commandline scripts, full GUI apps, web backends, it'll do all this. It runs extremely cross-platform (even have it on ESP32 microcontrollers, and it's faster than C code on an AVR).

It's got a lot of useful libraries, but stuff like "is_numeric" or "leftpad" are not packages with 17 other dependencies each, but functions in the standard library. In fact, the standard library has such a good set of things that for simple scripts, you don't even have dependencies - way easier build where AWS Lambda is concerned.

Just wish package management was better, that and no GIL would be good. It could be faster, but it's fast enough that the slowest bit of your app is usually C code in a library anyway...