Hacker News new | ask | show | jobs
by 11235813213455 1881 days ago
I don't see JS as less powerful than Python for data science, it's faster than Python, or can use bindings just like Python. JS is maybe less commonly used than Python in data science nowadays, but I wouldn't be surprised if this changes in next years. There are equivalent libs like tensorflow-core, there are native features like BigInt, and there are libs for 64bits floats (decimal.js, big.js). I'd be glad to spend some time converting Scikit-learn into JS and also show you how expressive JS actually is, if you show me some Python code, I'll translate it
3 comments

The fact that the number support isn’t part of the language is Linda the problem though.

When you’re writing data science code, the value is in the answer more than the process of getting to that answer. Anything that complicates that gets in the way. This is why things like Pandas are so popular despite having some questionable engineering. Using a library for big number support, having to get that to play nicely with other libraries, it all goes against the aims.

Now for data engineering it’s very different. I wouldn’t choose JS myself, but it’s a much more reasonable choice. For engineering the process by which you get the answer matters far more - is it scalable, testable, repeatable, etc. Having to use a library for big number support is fine.

It’s two very different ways of working and I’m still fairly convinced that JS is not conducive to the former.

>it's faster than Python

Is that generally true for data science type tasks, though, where the "fast" in python is really numpy, pandas, etc?

>or can use bindings just like Python

But there's not really anything like numpy/pandas for it to bind to at the moment, is there? Meaning anything as broad in functionality, fast, mature, etc.

> libs for 64bits floats (decimal.js, big.js)

both of those libraries are for arbitrary precision decimals, not floats.

If it's arbitrary precision, what's the difference, besides slightly more bookkeeping on your end?