What's Next for Scala
131–140 of 203 posts
Re: What's Next for Scala
#132Scala 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…
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
#133Re: What's Next for Scala
#134I’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…
Re: What's Next for Scala
#135Re: What's Next for Scala
#136Re: What's Next for Scala
#137Re: What's Next for Scala
#138Earlier 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.
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
#139Scala 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
#140I’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!