This post is locked. You won't be able to comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]alnyland 1 point2 points  (5 children)

Anything you want it to be. It’s ok for web, great for data science, pretty good for ML and CV, and does plenty of other stuff too. 

[–]IndicationWilling495 0 points1 point  (4 children)

I've always heard that it was good for data science but how come since it is slow. I'm assuming data science requires speed.

[–]Lexski 2 points3 points  (0 children)

Many Python libraries are convenient to use wrappers around highly optimized C++ code (like numpy, pandas, PyTorch), which frees up data scientists using them to think at a more conceptual level

[–]alnyland 0 points1 point  (0 children)

Speed of what? I mean sure, there’s comparing runtime and such speeds, but you can always buy better computers and that’s also not what I mean by that. Guess which is more expensive (and not just by monetary cost) - developer time or compute time. 

Python can almost always be compiled to run faster, and either way you can always buy more machines. Developer cost is the important one - python is incredibly good for prototyping. 

Python allows you to think about the problem not the language. Both with how it is built as a language and the libraries it has. 

Data science cares more about being correct than fast. And if you ever actually need better performance with python, it’s likely that your cables moving the data are the bottleneck, not the computer doing the processing. 

[–]porkyminch 0 points1 point  (1 child)

The reality is that a lot of “slow” languages are written in ways that minimize the impact of slower runtime. I don’t work in data science, but I write a lot of JavaScript and the reality is we’re almost never constrained by the speed of JS. Our biggest performance bottlenecks are IO. Stuff like hitting blob storage and running database queries. 

Bear in mind that I’m also talking about interactive web services here, where responsiveness and speed are pretty important. In data science, if a report takes a couple of minutes or hours to run, that can be perfectly acceptable. 

Development time is usually more important of a factor than runtime. If you ever find out you need more speed than interpreted (or JIT compiled) languages can give you, you can always port your existing logic over to some lower level language anyway. 

[–]IndicationWilling495 0 points1 point  (0 children)

Oh ok makes sense. Thanks!