![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/b0484192-18ad-4d5c-8973-aa4b66b3ba11.jpeg)
Thank you for this great and detailed answer!
I would also add that today JVM environments support more languages such as Scala, Kotlin, and Clojure (to name a few). So more variety and more modern paradigms are available.
As for native languages, we are more or less left with C, C++, Go and Rust. Also some of them are really awesome, none seem like a good choice for general-purpose app development.
And a counter-intuitive thing is that modern run times are so well optimized that sometimes they can outperform native applications (I’m not talking about very tight calculations such image processing and AI), because JIT has much more information about both the specific hardware and run time introspection that is unavailable at compile time.
I actually use Clojure quite a bit on the backend/data pipelines, and was actually curious if it’s used in app development.
Your comment probably answers that question :/ Probably too much of a small community and most applications seem to be backend stuff. Maybe it’s possible to build app with CkojureScript as it complise well to JavaScript.