Hacker News new | ask | show | jobs
by hnra 1269 days ago
Why not?
1 comments

Kotlin might fit the Java niche, if you trust someone that sells IDEs to make a language.

Go's niche includes being native. If you discard that, then virtually anything that is "easy" could fit it.

Then use an AOT compiler, plenty of those for JVM since 2000.

While one can excuse themselves that they were commercial, GraalVM native image, and OpenJ9 offer free beer alternatives.

I looked into using Graal one time. Many of the dependencies I used were not compatible. I also encounter weird bugs with any of the OpenJ* alternatives. In Go, everything just works.
The JVM proponents are usually being dishonest when they compare Java/Kotlin AOT compilation to Go. They know very well that a large number of popular libraries either outright don't work or have severe restrictions when using AOT. It's also common to run into bugs since Graal is relatively new and only a miniscule percentage of the Java community uses it. It's not even remotely close to Go where everything can be assumed to work.
No we aren't, because there have been commercial compilers since around 2000, with Excelsior JET being one of the first ones, sadly out of business.

However, PTC and Aicas are still in business,

https://www.ptc.com/en/products/developer-tools/perc

https://www.aicas.com/wp/products-services/jamaicavm/

IBM's commercial one is now freely available on OpenJ9,

https://www.eclipse.org/openj9/docs/xaot/

Finally, if you are using a modern Android phone, an AOT compiler is in the box since Android 5, and it was modified into a mixed JIT with AOT compilation on rest since Android 7.

GraalVM happens to be the evolution of MaximeVM, and certainly not the only game in town.

I was just reading that Spring 6 introduces Ahead-Of-Time compilation, enabling first-class support for GraalVM native images with Spring Boot 3. So hopefully the situation is improving.
You're totally missing the point of the niche in question.
Indeed, compiling to native code is missing the question apparently.

Or is the niche not being able to understand JVM languages, that expect developers to have PhD skill levels, as per Rob Pike's own words?

So they're missing the niche of "being native", by suggesting... using an AOT (= native) JVM compiler? Meaning making essentially every JVM language native?
> Kotlin might fit the Java niche, if you trust someone that sells IDEs to make a language.

They would at least know how to make a language that's not a pain in the ass to analyse, which is probably in its favour.

Yea - but that's offered by all modern languages, and they're not tied to one particular IDE since LSP took off.
> that's offered by all modern languages

I see you've yet to meet Scala.

> they're not tied to one particular IDE since LSP took off.

There's at least one language server for Kotlin.

I'm not even a interested in (let alone a user of) Kotlin, but you seem to have a very not-objective view of it for some reason.

Are you saying Scala has bad code analysis? I recall it being as good as Java's. Anyway, that's just a matter of defining "modern languages" then.

> There's at least one language server for Kotlin.

I didn't say there is none, I said that any modern language has one. An IDE is not a selling point anymore, in my humble opinion.

> you seem to have a very not-objective view of it for some reason

I just think that shoehorning Kotlin into "the go niche" is absurd , and that the "good code analysis" argument is moot.

> I just think that shoehorning Kotlin into "the go niche" is absurd

That's what you say, but you don't really tell us why.