The Origins of Scala (2009)(artima.com)
30 points bytodsacerdoti2 hours ago |5 comments
Zambyte1 hour ago
Scala was the second programming language I learned (the first was Java). I think I'm quite lucky to have picked up a language like Scala so early in my programming journey. It made it very easy for me to learn new programming languages, since it made it easy to support wildly different paradigms (which is also what makes it hard to use in an enterprise environment).
Rochus32 minutes ago
It's interesting that Odersky started with Modula-2 (implementing a Z80 compiler), did a PhD with Wirth, but there discovered that functional programming offered a level of theoretical rigor and mathematical elegance he missed in Wirth's imperative languages. Wirth was generally critical of the complexity and abstraction often associated with functional languages. Rather than rejecting Wirth's pragmatism, he carried it forward by attempting to make functional programming "industry-ready".
ENGNR1 hour ago
One interesting thing about Scala is that Odersky has both a research background but also is clearly cares about the lecturing/education in his university role also. So they're trying to lean ahead of industry to lead the way on what's possible, but there's also pretty good material on the decisions and how they got there.

It has it's own drawbacks, like all languages, but I appreciate the clarity of their decision making and the communication of what's happening.

kasperset1 hour ago
Have error messages improved? I remember trying it few years back but the error messages made it hard to debug. Is it due to use of JVM? Sorry for my lack of knowledge since I rarely program in JVM based languages.
ForHackernews1 hour ago
Scala is a great language. It's a little bit disappointing that Kotlin is the JVM language that's gained so much traction instead.
blandflakes1 hour ago
They really obliterated their momentum with how they went about Scala 3, unfortunately.
spockz52 minutes ago
Why is that? I think they did a lot of things right. Offer automatic conversions, backwards and forwards compatibility from a sufficiently recent 12.x version.

I think mostly Kotlin being simpler and Java gaining features ate the lunch. Also, software like Akka and Spark becoming less prevalent hurt because they were big reasons for devs to learn the language. Not to mention the community drama.

The only bad thing was that it took quite long for Scala3 to become available leading to a lot of stagnation.

dboreham43 minutes ago
I've used both fairly extensively. Scala is just "too much". Kotlin is perhaps not enough, but that's better than too much.
29athrowaway1 hour ago
Except when you chain many collection operations... then it breaks horribly.
tbct1 hour ago
Can you elaborate on what you're referring to? I can see performance becoming a problem if you repeatedly chain non-optimisable (in bytecode) as excluding the in place operations I believe all ops re-allocate the collection.