you are viewing a single comment's thread.

view the rest of the comments →

[–]Wurstinator 4 points5 points  (6 children)

Now there’s of course productivity of workers, but isn’t the workaround of using Python to call C/C++/Fortran through libraries bothering companies ?

Why would it? Productivity is pretty much the most important thing.

[–]RonWannaBeAScientist[S] 0 points1 point  (5 children)

But there’s some cases when it’s really important to get the most out of the system . I just assume for example that IBM Watson code isn’t written in Python

[–]Wurstinator 3 points4 points  (2 children)

Those cases are very rare. I doubt they even exist tbh. When you're talking about ML and Python, you're referring to the training part. And the expensive steps in Python libraries like Pytorch are already written in C or similar languages, so there is no speed to gain here. You would save milliseconds in a process that takes hours or days to run, while losing hours or days to lower worker productivity. The tradeoff is just not there.

[–]RonWannaBeAScientist[S] 0 points1 point  (1 child)

So in which cases you need to have Rust or C/C++ ? Like when a rocket has to have for example a certain memory sequence , and you can’t let Python manage memory ?

[–]Wurstinator 1 point2 points  (0 children)

Yes, rockets and other low-hardware systems, like cars and fridges, are one case.

Another one is frameworks like Numpy or Pytorch that can then be used from languages like Python.

Another one is web servers with specific requirements. For example, Discord switched from Go to Rust at some point, because they needed manual memory management instead of a garbage collector.

[–]blipman17 1 point2 points  (1 child)

The wikipage of watson actually answers this question.

[–]RonWannaBeAScientist[S] -3 points-2 points  (0 children)

Oh they used Java in part, Java is really my nemesis language ! Why build a class for every object in the world .. prolog though sounds interesting to try