Hacker Newsnew | past | comments | ask | show | jobs | submit | ink-splatters's commentslogin

Having single binary output is completely different problem and is solved for both Python and typescript (bun supports the later).


That's true, but it's not quite the same thing. The single binary you're referring to is the interpreter and source code packaged together (at least for TS/JS).

If you install too many of these "single binaries" then at some point you would be better off just having a single interpreter and using npm/pip.

By contrast the Rust binary only contains the machine code for this program and can be directly executed.


Node and Deno can also bundle apps into a single executable.


You can tune java runtime in many ways, achieving impressive throughput/latency for your type of workload.

Next to none of them will get you nearly as good cold start times as of native app, if using free java.

There was GraalVM and its ecosystem which included Java Native Image - first thing I’d evaluate if thought about non-server side, performant Java application.

But it all had been sadly swept away by Oracle from free tier.


I use GraalVM and Native Image now and while the project --a small CLI tool-- is tiny (2kLOC with mainly AWS-SDK deps) the compile times are huge (~3 minutes), the OS-dependencies many (so much I use a build container to ease the burden of installing all) and the resulting binary is huge (~60MB).

But then it distributes as one binary and starts in milliseconds.

Rust would have been a better fit (cargo-and-done, smaller binary, quicker to compile); but I wanted to use Kotlin as we use in all other projects.


It hasn't been swept away by Oracle, far from it. It's development is just no longer coupled to the OpenJDK release cycle, which benefits both projects.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: