3 ms·
The nice thing about the JVM ecosystem (and to a lesser extent .NET) is that it makes new languages a lot easier to spin up and the discussions around them far
by native_samples 5y ago
The nice thing about the JVM ecosystem (and to a lesser extent .NET) is that it makes new languages a lot easier to spin up and the discussions around them far less contentious because language interop works so much better.
Like, if someone says they prefer Java to Kotlin, that doesn't threaten me at all because I can use their stuff easily. Likewise in reverse, as long as the author of a library actually wants it to be usable from Java it will be. Even stuff like Scala and Clojure where the ecosystem guys really don't care about interop in the reverse direction, it's still possible and can be done when people want it for relatively low cost (just avoiding exotic language features in your API definition, more or less).
It does take a lot of the heat out of those discussions. You don't get the same influx of "I rewrote grep in Rust" type stories.
- nindalf 5y agoIt’s funny you should mention ripgrep (text search in Rust) in particular because it’s a great example of a tool being reused in other environments. It could be used with C bindings or by calling the binary. The latter is how Visual Studio Code integrates it. It’s a win for everyone if the fastest grep tool (benchmarks - https://blog.burntsushi.net/ripgrep/ https://blog.burntsushi.net/ripgrep/) is used widely.
- native_samples 5y agoYeah, grep in Rust was probably a bad example. I do actually use some replacement command line tools that are written in Rust :) I think you get what I mean though. Maybe an HTTP stack would have been a better example. Like, people finding fairly trivial excuses to get a language in front of people.
- nindalf 5y agoDon't think HTTP is a great example either. The most used HTTP stack in Rust was integrated into curl :) https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyper/ https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyp...
- burntsushi 5y agoYou're damn right grep was a bad example. And I don't know of anyone building good tools just to "get a language in front of people."
- TheCoelacanth 5y agoRipgrep isn't really a rewrite of grep. It's a competing product that tries to do a better job of serving use cases that people commonly use grep for.
- Zababa 5y agoOn one hand that's true, on the other hand people will often think "why bother?". I expect that Kotlin usage (at least on the server) will slowly fall as Java is getting better and better, and probably the same for Scala. Clojure seems to have a more unique value proposition but it's already the least used of the 3 hosted languages.
- native_samples 5y agoMaybe? But Kotlin was first launched in 2010 and didn't hit 1.0 stable until the start of 2016. Even the latest versions of Java are still very far behind in ergonomics, features and general usability, to say nothing of exclusive features like Kotlin/Native, Kotlin/JS and Jetpack Compose. Let's say Java does eventually catch up, but it'll take at least five years. So then Kotlin has been making JVM user's lives easier for a decade by that point. That's pretty good! Definitely worth having.