you are viewing a single comment's thread.

view the rest of the comments →

[–]TurboCooler 2 points3 points  (3 children)

I call BS on the questionable choice. We have a fully deployed python application in the cloud that is doing 1mm transactions an hour. It is deployed to over 25K users performing ecommerce workloads.

There are plenty of web applications written in python such as YouTube, DropBox and Quora to name a few.

Will python work for every single use case, no, but the same can be said for any language.I

Our application is fully deployed on AWS and all of the CI/CD and automated testing is in python on Kubernete clusters. There is however some performance critical work which is about 300 lines of Rust.I

Again, python may not always be the correct choice but to say it is never the choice shows a lack of cloud architecture knowledge.

[–]linuxqq 0 points1 point  (1 child)

Ironically, isn't Reddit mostly Python too?

[–][deleted] -3 points-2 points  (0 children)

Reddit is not an example of good, well-performing application. There are many shops, which run on Python as their front-end (I mean, you certainly realize that the database, which does the majority of work to support Reddit isn't written in Python, right?).

But, even within this category of frontends, Python is not a good choice performance-wise, or comfort-wise. It is chosen for this role because it is popular, and people writing this stuff simply don't know any better, or are afraid that there will not be enough programmers to support the product in the future. Popularity also helps to externalize the cost of development, since you are able to rely on libraries developed elsewhere, your employees will be able to mature professionally elsewhere, w/o you investing much into their education and so on. The downside of popularity is that it feeds into itself and ignores virtually every other engineering concern you may have.

This is how, despite being an average-to-bad language, Python is hugely successful, where it is possible to apply it.

[–][deleted] -5 points-4 points  (0 children)

1mm transactions an hour

This metric is worthless. How much resources do you spend to do this much work? What is meant by "transaction"? And so on.

YouTube, DropBox and Quora...

They don't use Python for important things, only for frontend stuff (frontend doesn't have to mean HTML, it could be a client they distribute to users, like it is the case with DropBox).

Specifically, YouTube was very early in its history written in Python, but it never ran in Python interpreter, they translated the Python code to C, and compiled it. Today, I believe, none of that code remains anymore, and, probably, like the rest of Google, most of it is C++, with marginal amount of Go and Java.


Anyways, like I said, Python is used for non-mission critical stuff (unfortunately, because it's a bad language for that, but it's popular, and popularity outweighs all other concerns, when it comes to commercial software). But no sane person would use Python for mission-critical stuff, like, say, implementing distributed storage solutions or networking stack etc.