News for hackers. Stuff that matters.
Re:Scala 3.0 by darksaints on Friday May 14, 2021 @10:17AM (#27154592)
They should have never been a language feature before IDEs were capable of working with them and exposing them. Luckily they do now...but Scala 3 makes it so that understanding them with a simple text editor is much easier. The fact that they have to be imported in a way that acknowledges their usage is a simple but important way to ease that burden, and the distinction between `given` and `using` is extremely helpful for understanding them.
Re:Scala 3.0 by agbell on Friday May 14, 2021 @10:31AM (#27154731)
Rumor has it Kotlin was inspired by frustrations getting Scala edge cases to work in IntelliJ.
Re:Scala 3.0 by valenterry on Friday May 14, 2021 @12:23PM (#27156037)
I don't believe that this is true. Because, one can just write simple Scala and has pretty much everything that Kotlin has (minus its nullability magic) and never deal with these edgecases. Even compiletimes are decent then.

But with Kotlin, it is actually enforced that the more advanced features of Scala are not available, so it makes sure that compiletimes etc. stay short. It also simply reduces the burden of the IntelliJ devs, because it's not just "Language -> IDE" but IDE capabilities impact how the language is designed too. And having a good IDE is very important for productivity.

Re:Scala 3.0 by adamgordonbell on Friday May 14, 2021 @02:08PM (#27157639)
I love Scala.

The thing is as an IDE author you can't just "write simple scala" because you aren't the author, you are the IDE. You have to be able to offer your refactoring tools and other tooling for all of it and cover all the edge cases.

LSPs do remove this problem to a large extent though.

Re:Scala 3.0 by valenterry on Saturday May 15, 2021 @12:03AM (#27162251)
I think I understand your posting now - what you are saying is exactly what I mean, but it's of course only true for IDE developers.

And actually, I'm not sure if LSPs help so much. To my knowledge, IntelliJ still uses its own compiler to support the user at least partially of the code is incorrect and doesn't compile.

Re:Scala 3.0 by ovis on Friday May 14, 2021 @06:46PM (#27160468)
Do you think IDEs would have grown support for them before they were a language feature?
Re:Scala 3.0 by darksaints on Saturday May 15, 2021 @10:12AM (#27165397)
There are plenty of IDE features that get released at the same time as a language feature, or shortly thereafter. Implicits were not like that.