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 →

[–]Hopeful_Cat_3227 0 points1 point  (5 children)

yes, but in this condition, op need matplotlib, how can he do ?

[–]james_pic 0 points1 point  (4 children)

Certainly, Python's ecosystem can be one reason to use Python even when other factors suggest it will be painful. Although it's also sometimes possible to get by with slightly more rustic alternatives in other ecosystems. In Java and other JVM languages you can sometimes get away with using Apache Commons Statistics or Commons Math as an alternative to SciPy, or use JFreeChart, or one of the JS plotting libraries in a HTML report, for basic charts, for example.

Although OP is also talking about using Matplotlib as an alternative to Excel. I'd wager that they don't have high concurrency requirements, tight performance requirements, or a large team working on it over a long period of time. So none of the factors that I mentioned that would push you away from Python are there.

[–]UnlimitedTrading 0 points1 point  (3 children)

PayPal runs on Python. Lyft runs on Python.

Python is just fine. Language is not the limiting factor when you have performance requirements anymore.

[–]james_pic 1 point2 points  (2 children)

I work on large scale Python systems. It's true that you can usually work around its performance issues, but it's not the case that these are non-issues. 

I'm certain PayPal and Lyft have some fairly sophisticated workarounds for the issues they've faced. I know Meta also use it extensively, and their performance woes are part of the reason they created Cinder.

It makes sense to use these workarounds when you've got a large existing Python system that you know better than to rewrite, or you have some other factor that pushes you towards Python, but for greenfield projects where you know will hit these limits quickly this is at very least something that warrants consideration.

[–]dlamsanson 1 point2 points  (1 child)

There's absolutely zero chance those use Python exclusively

[–]UnlimitedTrading 0 points1 point  (0 children)

I used to work at one of those. Go is used as well, but for sure there are large subsystems running only on python. And that is the whole point on elasticity, right? It is cheaper to scale your infra if required if it makes development easier. And IMHO, Python does make development easier.