FLOSS Weekly Episode 801: JBang — Not Your Parents Java Anymore

This week Jonathan Bennett and Jeff Massie chat with Max Rydahl Andersen about JBang, the cross-platform tool to run Java as a system scripting language. That’s a bit harder than it sounds, particularly to take advantage of Java’s rich debugging capabilities and the ecosystem of libraries that are available. Tune in to get the details, as well as how polyglot files are instrumental to making JBang work!

Did you know you can watch the live recording of the show Right on our YouTube Channel? Have someone you’d like us to interview? Let us know, or contact the guest and have them contact us! Take a look at the schedule here.

Direct Download in DRM-free MP3.

If you’d rather read along, here’s the transcript for this week’s episode.

12 thoughts on “FLOSS Weekly Episode 801: JBang — Not Your Parents Java Anymore

    1. Have you tried latest modern java versions?

      It starts fast enough for most cases.

      Of course if you are not writing java daily it isn’t much of a win but if you do much easier to do this as it works on any platform.

  1. i’m not gonna watch some talking heads who don’t know how to blog but

    it’s a bad idea. it’s simply too hard to install and maintain java to tolerate depending on it for basic system tasks like installing and maintaining java. you wind up installing jre 8 because that’s what most things seem to target, and then installing jre 21 because something wants the newest and then you spend your days fighting to get the different use cases to use whichever version of java they actually work with.

    i remember having the same problem with python 2.7, installing one thing would pull in a newer python as a dependency and then everything that didn’t explicitly use 2.7 would implicitly upgrade to 3.0 or whatever and break.

    C isn’t immune to this problem of course but all the distributions already do a good job at dependencies on libc and libcpp1. and those packages themselves are relatively monolithic, not a huge framework that has to work just to install them.

    though at least java is easier to install than rust / cargo! though i don’t know, as a user, whether that’s a problem…i imagine / hope that rust’s package management only aggressively harms developers.

      1. the text on those pages only confirms my exact accusations, in spades.

        people invent a system with too many interdependencies and then they “solve” that problem with an “automatic” dependency system. i have gray hairs — i am not going to be fooled by this promise. the more closely integrated the dependency system is with the build and execute, the less well it works. one person got it to work on one computer for one week and then spends the rest of their life insisting that rust’s downsides were solved yesterday (even though this ‘yesterday’ is years after the first ‘yesterday’ they asserted).

        i can’t imagine anything worse than branching into a dependency system to run system tasks.

        1. 1) jbang is for more than just system tasks. Also useful to simply run existing tools and experiment and hack on code/libraries.
          2) javas dependencymechanisn is opposite to system scripting much less reliant on os and defaults to have locked versions so runs are much more predictable and reproducible than traditional scripts.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.