Live data from Hacker News

2026: The Year of Java in the Terminal?

xam.dk

161–170 of 191 posts

Re: 2026: The Year of Java in the Terminal?

#161

It just so happens that I’ve built one already: TUI4J (Terminal User Interface for Java). https://github.com/WilliamAGH/tui4j It combines a port of BubbleTea from Go, and Textual and other inspired rewrites of other functionality. It’s a fork of someone’s earlier work that I sought to expand/stabilize. I built a beautifully simple LLM chat interface with full dialog windows, animations, and full support for keyboard…

cool - you've hidden that well as I spent a lot of time searching for these.

Will definitely check it out.

...where is the jar for brief? :)

Re: 2026: The Year of Java in the Terminal?

#162

It just so happens that I’ve built one already: TUI4J (Terminal User Interface for Java). https://github.com/WilliamAGH/tui4j It combines a port of BubbleTea from Go, and Textual and other inspired rewrites of other functionality. It’s a fork of someone’s earlier work that I sought to expand/stabilize. I built a beautifully simple LLM chat interface with full dialog windows, animations, and full support for keyboard…

cool - you've hidden that well as I spent a lot of time searching for these. Will definitely check it out. ...where is the jar for brief? :)

ah - tui4j is continuation of latte. Cool - now I grok why it looked similar. cool!

Re: 2026: The Year of Java in the Terminal?

#163

I've been a Java developer for twenty years. I've used it for everything front front end to distributed systems. I've built gradle plug-ins and clips with JAVA. I have every shortcut in intellij memorized. Even with all this it takes me substantially less time to get go, python, or ts working as a cli. Java cli is a solution looking for a problem

I felt and did the same as you - until I made jbang as I was tired of seeing kotlin script being included to just write java...

Then when I had ability to write java scripts with dependencies, we added auto download of JDK and then made it so could run any jar (not just scripts) and I suddenly now have full debug support for anything I do + I can install and run this on any docker container or laptop - even my parents or a library computer running some ancient windows. Try that with npm and python :)

All I'm saying - I hear you and I grok why. What I'm saying that for at least close to 5 years at least last 3.5 years there been a way to use the jvm as easy and more reliable than python/nodescript/typescript....run cli's, swing/jfx, backend apps etc.

And in 2026 I want to make java TUI's a reality.

Re: 2026: The Year of Java in the Terminal?

#164

Babashka has been available and has had a growing following since 2019. I have many babashka shebang deployed scripts with fast startup. While I would never desire to use Java syntax, AOT capable JVM based Clojure libraries are available and can be loaded dynamically. Built via graal. https://babashka.org

babashka comes with some excellent namespaces. Highlights include babashka.fs -- a functional and effective wrapper around Java file system classes, and babashka.process -- useful functions for interacting with shell processes, i/o and pipelines. I find babashka packaging to be minimal and much more convenient than python for scripting. No massive virtual environments, just a smaller than 70mb binary needs to be avai…

Yes - this is what we need more off - just not only in clojure space.

I done https://github.com/jbangdev/jbang-jash for shell processes and smallrye process io also done a lot for nice shell apis.

Files access could be another.

jbang provides the similar binary - for now bash+jvm based but all simple installable. I have native jbang binaries which are even less than 70 mb :)

Definitely going to check out babashka more for inspiration.

Re: 2026: The Year of Java in the Terminal?

#165

It is not only the language but also the mindset and culture. When in Java System.exit() and even System.println() are treated as smells and I have to actively push to get exceptions from the company wide style I'll just write Rust and be done.

Thats my whole point in my blog - we need to change the mindset.

Other ecosystems just have much less "enterprise rules" applied to them - break free :)

Re: 2026: The Year of Java in the Terminal?

#166
post #13

> Try a GraalVM native image. Milliseconds. Gone. Try building a GraalVM native image. Minutes gone.

I agree the build might take a bit extra but its for sure not much for smaller clis. Making jbang native added 1-2 minutes and its all done in github action runners so in practice I don't see this as a problem as it does not affect the end user.

Re: 2026: The Year of Java in the Terminal?

#167
post #10

Agree, Java also had straight single file execution forever now. Java foo.java. I use it instead of scripts all the time. Solid language with a lot of flexibility, Oracle has done a good job in last few years. Newer Java frameworks are fairly easy and light to use. We have natively image Lambda functions in production. Work well.

Imagine having to know the programming language used to write a program to run it. $ python foobar Nope. $ gcc foobar Nope. $ g++ foobar Aw,come on. $ go foobar Damnit. $ rust foobar $ c# foobar WTF did they use for this program??!! $ node foobar This is such a waste of time. $ java foobar Bullshit! $ ocaml foobar Come on, there arent't that many more programming languages! $ tcl foobar Finally!

thats why you use jreleaser and publish it so you just run it as `foobar`

Lets please not mix up good dev flows with end user flows...this is not unique problem for java.

Re: 2026: The Year of Java in the Terminal?

#168
post #39

Earlier quoted context omitted.

Yeah even js is better for CLI, just npm install it. The way its distributed also makes a huge difference.

jbang install does the same. Not enough for you?

I never came across it. I never used anything that installs with jbang, and I bet Im not alone.

Most devs have npm installed always, I don't like it but its effective at delivering software to my development environment.

Re: 2026: The Year of Java in the Terminal?

#169

Earlier quoted context omitted.

Openjdk also dropped a lot of OS support, it basically just windows, Mac and Linux now. And AIX. No more FreeBSD, Solaris, open Solaris (illumos smartos etc).

just because Oracle stopped distributing JDK's is not the same as not possible. Anyone can step up to do this. https://github.com/psumbera/solaris-openjdk seem to work?

I never said it was impossible. I said they dropped support.

Re: 2026: The Year of Java in the Terminal?

#170
post #40

My biggest complaint about Java development is the state of LSP/DAP support. I’ve tried writing Java in VS Code, and the support is still very incomplete. There are two features I want the most: (1) automatically downloading source code for dependencies, and (2) pausing all threads when a breakpoint is hit ( https://github.com/microsoft/vscode-java-debug/issues/722 ). I can’t find any editor or IDE that comes close t…

hmm - automatic download of source code just works for me in vscode...?

"java.maven.downloadSources": true in config if you don't just use maven's automatic download for it.

pause all threads does look like a valid omission. Feels like something someone should go contribute - any takers?

on your question - I do actually miss having a good an easy java in terminal editing experience. I use a nvim starter pack to do it BUT here there is no good jbang enabled LSP to make it truly smooth ...also on my 2026 wish list :)

Post reply on HN