It got me wondering if it would make sense to have something like this based on Scala instead of Python. It could be a sort of Matlab in Scala. That could even be something that I might be interested in working on if I had the time. Given the scalability of Scala, I could see some advantages over Python or Matlab – if the more complicated features of Scala could be avoided. But would anyone use it? What do you think?
Hi. Check https://almond.sh/ . Worked (almost) perfect when I used it months ago with Spark.
I think (mostly) because of dynamic nature it’s easier and faster to prototype in Python. That’s one of main reasons why Python has a broader libs ecosystem. Typed languages are obviously more reliable, but at distances that most projects don’t survive.
There is still hope for calling libraries in Python from JVM languages. If calling a function in Python process, there are a few libs for that. A one with a good Scala-ish design is https://scalapy.dev/. Unmaintained, unfortunately.
There is also a Graal project. As I know it tries to embed Python entirely to JVM. As Python libs are mostly wrappers around C-libs, I don’t know how good it would work. If you decide to check, let us know.
It looks interesting, but it does not appear to be maintained beyond two years ago, before it was fully ported to Scala 3.
Unfortunately, the only real documentation on it appears to be a paperback book for around $100. Now that’s a sure way to make it die on the vine. I don’t have a pressing need for it, and I would like to see at least a basic user guide with examples before I bother installing it or forking over $100 for a paperback.