Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I've never seen a language being used or not used because it reused some other ecosystem.

It might have worked for Clojure and Scala, but didn't get tons of other JVM targeting languages very far.

And inversely, C, C++, Java, Python, Perl, Go, Rust etc succeeded by themselves.



I would argue that Kotlin (https://kotlinlang.org) is an exception to this rule.

It’s extremely popular and I could foresee it eclipsing new Java projects going forward.


Kotlin hit the sweet spot between the abtrusity of Scala and the sloppiness of Apache Groovy.


Re-used an ecosystem? Perhaps not. But the breadth of the library is a big deal for language usability. The easy way to get a big library is to steal an existing one.

Java and Go didn't take that route, because they had corporations behind them that could put a lot of people on writing a solid, broad library fairly quickly. When C came out, the standards were a lot lower - a few people wrote the library that they wanted. Same with Perl. (CPAN is an amazing organic achievement, but it took time to develop.) When C++ started, it just used C's library. I don't know about Python.

Rust is the exception to my reading of this, but even Rust had a large organization, even if it wasn't a corporation. So I think the rules are be early, so standards are lower; have a big organization write a big library at the beginning; or use an existing library to get off the ground.


>* The easy way to get a big library is to steal an existing one.*

Doesn't that always lead to compromises in the language design (to easily link to the old language) and sub-par non-idiomatic libraries?


Probably at least to some degree, yes.

But there are different degrees. C++ had "extern C", which is not much. Java, get the same ability, had JNI, which is gouge-your-eyeballs-out ugly.

A language can probably survive having something like "extern C" to be able to get to the libraries. But if JNI were the way to get to the standard library, it probably would have killed Java.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: