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.

how does this handle classpath

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.