I'm new here but I've skimmed past blog posts and I get the impression that:
- Originally it was planned to have a standard library, and there was one
- At some point there was agreement/realization that "rebuilding the world" was both too ambitious and it made the cost of moving from Java to Kotlin unecessarily high
From the blog posts it seemed like there was a lot of declarations in the early days of "no, we absolutely won't do that" and "we're definitely doing this," but somehow that softened as time passed and a more pragmatic approach was taken.
My current perception is that Kotlin is now a language replacement for Java. It gives you a much better programming experience without replacing the Java ecosystem (and requiring you to learn a new ecosystem). If I understand this correctly, then this is one of the reasons I continue to be attracted to Kotlin – such an approach is very similar to what made C++ successful, by allowing C programmers to move to C++ without suddenly changing their whole world. By focusing on the language only, you make the project much more practical AND more accessible for Java programmers considering the switch (“I don’t have to change/relearn all the libraries and frameworks I’ve gotten used to!”).
So, I hope I have that right. If so, that explains the disappearance of the standard library. Unfortunately there are numerous dead links now, and the new user is left to sleuth out possible reasons, as I have. So I suggest/ask for (A) some kind of description of these design decisions someplace (apologies if it already exists; would love a link to said description) and (B) Mentions and links to the standard library and similar items, if not removed/fixed outright, could just be lined to the description in (A).
For example, in https://github.com/JetBrains/kotlin, under the subhead “Contributing”, there’s a link in the first paragraph to “the standard library” which takes you to a place that makes that library appear to be dead.
Another idea that might help make things clearer to potential adopters and new users is a “Kotlin Manifesto”-type list, similar to “The Zen of Python” that you get when you start Python and type “import this.” This is similar to the “mission statement” of a company (yes, these are usually a joke but that’s because management doesn’t take it seriously) which, when used right not only gives everyone a sense of “what we are about” but also helps make decisions (for example, Zen of Python’s “one obvious way to do it” vs. Perl’s “always more than one way to do it” – which Scala seems to have unconsciously inherited).
Please correct my misperceptions here and direct me to documents that might clarify my understanding. Thanks!
– Bruce Eckel