Live data from Hacker News

What's Next for Scala

lihaoyi.com

131–140 of 203 posts

Re: What's Next for Scala

#131
Hands down, Scala is my favorite language. The world-class type system combined with its very practical nature make it a natural fit for really any server backend. And now with GraalVM, Scala hopefully will make inroads into desktop and command-line apps (start-up time has always been an issue, until now). Scala 3 looks pretty amazing and the future is bright!

Re: What's Next for Scala

#132
post #33

Scala has the reputation of being fun to create stuff with, but horrendous when understanding other people’s creations. Is this still true?

It's less true now because some of the patterns associated with code that's difficult to understand have been deprecated or flagged by the community to avoid. For example, implicit conversions are now disabled by default. It's possible in Scala to pass a Foo to a function requiring a Bar due to a chain of automatic conversions from Foo -> Baz -> BazMutable -> Bar. This is fun and magical but difficult to understand a…

> For example, implicit conversions are now disabled by default. It's possible in Scala to pass a Foo to a function requiring a Bar due to a chain of automatic conversions from Foo -> Baz -> BazMutable -> Bar. This is fun and magical but difficult to understand and debug. The community and language itself now suggests against this pattern.

Oh God I'm having flashbacks to using Lift in... 2012? There were about four levels of implicit conversions between my model and the final JSON, trying to understand that was hard.

That said, David Pollak the founder of Liftweb was amazingly helpful on on their mailing list.

Re: What's Next for Scala

#133
Scala faces tough competition from Kotlin which has two huge platforms - Android and Spring/Pivotal. Arrow (https://arrow-kt.io), is enough to satisfy all but the most zealous FP purists whilst maintaining first-class inter-op with the host language. I foresee a lot of new projects adopting Kotlin where once they might have favoured Scala.

Re: What's Next for Scala

#134
post #76

I’ve been using Scala as my main programming language for over 5 years. I’ve found my “plateau of enlightenment” by sticking to a subset of the features: case classes, for comprehensions, futures, immutability, pattern matching. By avoiding things like implicit, overly complex types, defining/overloading operators, and being dogmatic about FP/OOP I find the language stays out of your way and lets you write code that…

This, and traits too!

Re: What's Next for Scala

#136
One of the most off-putting experiences when starting with Scala is the lack of a dedicated Scala repository such as Clojars for Clojure. Floundering around in Maven Central trying to get an idea of what's available for Scala is an exercise in futility and enough to make you want to give-up before you've even started.

Re: What's Next for Scala

#137
What's with the quote's casual Clojure dissing? Clojure seems more popular and growing more than Scala, from where I sit. Kotlin is not eating into Clojure's user base like Scala, which makes sense.

Re: What's Next for Scala

#138
post #41

Earlier quoted context omitted.

Scala 3 will alleviate some of the pain you felt, for example around implicits. Scala's IDE tooling is getting better with faster compilation and language servers. Scala is a fusion of object-oriented and functional programming. There are at least three major styles of Scala programs: OOP, functional, and reactive (actors). Scala indeed places the burden on the development team of choosing which patterns are right fo…

Ahh yes, the old “the next version will solve everything!” and the “you must be doing it wrong.” Or... have one way of doing everything (python, go, Rust, even Java) and simplify. That simplicity means 3rd party libraries will all largely have the same basic constructs for how things work, which makes it far easier to learn, which makes it easier to contribute.

None of those languages have one way to do everything, I would even wager none have only one way to do anything.

Simplicity comes at a cost, compare Elm to Purescript/Haskell for example. Elm lacks type classes, so it’s simpler and more explicit, but that comes at the cost of verbosity and duplication. This was an explicit decision to make the language more friendly for beginners, and that’s a reasonable trade off to make, but it’s not universally better.

Re: What's Next for Scala

#139
Engineers are really horrible salespeople. And maybe thats a good thing in the case of Scala. The functional programming paradigm has little or nothing to show for itself in the many years since this resurgence started. It personally has done nothing for me, not made my job easier, not allowed me to be more productive, and is not even really interesting. Any more interesting than LISP was in the 70s.

Scala is slow, wastes time celebrating its syntax of supposed correctness. Is a pretty bad JVM integrator. It cant get out of its own way and neither can its programmers.

I am open to learning new languages, we all should be, just to keep learning. But lets be honest folks. Scala is a highly opinionated academic and inevitably selfish decision to make over any other mainstream language.

Re: What's Next for Scala

#140
post #76

I’ve been using Scala as my main programming language for over 5 years. I’ve found my “plateau of enlightenment” by sticking to a subset of the features: case classes, for comprehensions, futures, immutability, pattern matching. By avoiding things like implicit, overly complex types, defining/overloading operators, and being dogmatic about FP/OOP I find the language stays out of your way and lets you write code that…

This, and traits too!

As I've been learning Scala, traits is the feature that grabbed me and is what convinces me to keep learning. What a brilliant feature that cuts through all the OOP clutter that can come from various patterns to build up functionality. it is the killer feature, I think
Post reply on HN