Scala 3 is still in alpha

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.

I guess I am using only fairly basic features of Scala 3, but I am not having anything like the kinds of problems that you are having.

I’d be interested in a few examples of the bugs you are referring to. Not a dump, but let’s say the top two or three bugs that have caused you the most trouble.

1 Like

Hi Mike,

There are indeed rough edges and dark corners in Scala 3 still. I get bitten by bugs too and it can be frustrating.

There is a scala issue spree going on on a regular basis, where people can work with the scala devs to resolve bugs and learn how to work on and with the Scala compiler. If you’re interested in helping out, I think the manpower would be appreciated.

1 Like

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.

A statement like that backed up with zero examples is annoying if not just outright trolling.

Please provide examples of “core features” that are “somewhat dysfunctional”, and please explain briefly how they are dysfunctional.

I use most of the “core features,” and I have yet to notice any compiler bugs, though it is certainly possible that I missed them.

4 Likes

I’m locking this thread because the original post does not refer to any concrete issues. A high level discussion whether “things” are bad or good does not help in making progress.

@Mike reporting concrete issues you encounter while working with Scala 3 is very valueable and has an impact. Also feel free to comment on existing issues how they concretely impede your projects.

4 Likes