HACKER Q&A
📣 nonickfx

Best stack for rapid prototyping based on a Java lib


Hi everyone,

we developed a Java library for optimisation under uncertainty. It offers the user quick access to modelling of the decision problem, stochastic processes and solving of stochastic programs. Modelling typically involves various ML techniques (time series, clustering, all kinds of regression). So far, we used Py as a wrapper language to allow for quick prototyping in Jupyter. However, shipping solutions based on Py proved unreliable.

We would like to switch to a different stack to achieve 2 things: 1) Rapid prototyping with our Java library in the background and 2) Ability to offer a web-based solution (a la NodeJS / React). We were thinking Scala / Groovy / Koitlin + NodeJS + React.

Our main issue is that none of the options offer nice data wrangling capabilities similar to Pandas in Py + dynamic typing + well-maintained Jupyter kernel. Does anyone have any other ideas?

Thanks!


  👤 zmmmmm Accepted Answer ✓
You should check out beakerx:

https://github.com/twosigma/beakerx

It'll give you Java, Scala, Kotlin, and Groovy kernels.

I would particularly suggest the Groovy kernels (and Groovy in general) for munging around data with Java. I actually prefer it to pandas/Python except for the less rich ecosystem around machine learning / stats / deep learning.

NB: For the SPA-like side, have a look at Micronaut which will work nicely with Groovy / Kotlin / Java and then you don't need Node, just interface Micronaut directly with your React code.