I know Scala 3 has officially been out of beta for over a year. The decision was probably made for various political reasons.
I would like to warn new users about the true state of Scala 3: it will still take a few years until it reaches beta quality.
I’m not saying it’s an issue for everyone, as most users only use a subset of the language’s features.
However, some of the core features of the language, as advertised in the documentation (and not marked as experimental), are likely to remain somewhat dysfunctional for the foreseeable future.
Below is some of the evidence I see for my claims:
When using certain features in Scala 3 at this time, over half of the coding time is spent dealing with language bugs, and the end result is often limited due to them.
Many serious bugs are currently open for Scala 3; some have been open for years. The number of open bugs has been slowly but steadily growing. Some of the closed bugs are not really resolved, but closed hastily due to lack of manpower or because they are too hard to fix properly (due to the compiler code becoming messier).
Beyond bugs, error messages are often cryptic, IDE support is abysmal, compilation times easily reach half a minute for certain projects with less than 1k lines of code, etc.
Documentation is incomplete, poorly organized, incoherent, hard to follow, and sometimes plain wrong.
The language is not stable; things possible in some versions are not possible in later versions. Regressions are common, and some bug investigations degenerate into a trial-and-error evolutionary process.
There is a lot more that could be written, but my point is simply this: new users, beware. While the Scala documentation might try to paint a rosy picture, the truth is rather different.
I do hope Scala 3 will one day be able to live up to its incredible potential, but in the meantime, I don’t think it is healthy to hide the current state of affairs.