Non-standard, but quasi-standard extra official libraries?

As we have parser and xml libraries (AFAIK it is detached from standard library), shall we prepare for extra official libraries such as CSV?

For example, Ruby has some extra maintained libs for CSV, minimal HTTP interaction, JSON, Base64, etc. (under ruby/ namespace in GitHub).

Of course we have libs for them in community as you know, but for beginners, “No need for choice (covering 80% of usecase)” is a good choice.

We have great library for collection in standard (and that’s good selling point). Considering other feature makes Scala more attractive (especially for LL user such as Ruby/Python user).

Fell free to write your opinion!

1 Like

I think this idea is covered by “toolkit(s)”:

The main issue is currently that this isn’t easily expandable / customizable.

(And as always in Scala, the marketing for the feature is more or less none existent. So it’s not well enough known, I guess.)

3 Likes

Even though it sounds great, Scala center does not have the scope or capacity to develop and maintain official libraries like Jetbrains/Kotlin or Microsoft/.NET, Scala team focuses on the core language and compilers and relies mostly on the community for everything else; that’s why they cannot do much but endorse 3rd party libraries for each use case like in toolking

The good news is that centralized power can sometimes put order outside, leading to community convergences or delegation from user space to compiler space or runtime space by enhancements JVM or Scala, examples:

Scala Caprese, can lead to a standardization of effects systems, which are currently represented by Cats or ZIO.

Java project Babylon would enable SQL macros and GPU programming in a standard way for the whole JVM.

So each team at Oracle or EPFL focuses on their small scope; that prevents projects from being abandoned from the official umbrella, like JInput, after Oracle closed everything not seeming to make money.

The best case scenario is to go mixed instead of abandoned, like JavaFX which is still official, but also industry and community-maintained, or Java EE now Jakarta EE, though it works mostly for well stablished projects with solid stakeholders or concerned parties, this is also the case for Scala-CLI and Metals, thanks to extra support of companies like Virtuslab