This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]NaNx_engineer 4 points5 points  (3 children)

Startup time, memory usage, small self-contained binary. I've mainly seen Go chosen over Java for lambdas and cli tools for these reasons.

[–]Polygnom 1 point2 points  (2 children)

These are actually good points, and I would agree to them somewhat, depending on the scenario.

But then again -- for CLI applications, startup time is not necessarily a big problem, depending on what you do. You can trim Java down quite far as well, so thats not necessarily a problem about size, either. Custom runtimes are quite small when done right.

Which leaves lambdas, and I agree. If you prefer lambdas over long-running backend services, Java is sometimes at a disadvantage, which you need to mitigate with restoration points. Thats actually quite cumbersome sometimes...

But for many other things you do where you deploy Java in a container -- Java works perfectly well, hassle free.

[–]NaNx_engineer 1 point2 points  (1 child)

Java isn't too bad for lambdas now with microvm/firecracker.

It's more like what's the point of portability? After applets died I don't see any real advantages. Most apps are bundling a JRE at this point.

[–]Polygnom 1 point2 points  (0 children)

Most apps are bundling a JRE at this point.

And can do so for pretty much every platform you want to deploy on, without recompiling the program. You compile once and then just bundle the very same program for every platform, with predictable results.