Live data from Hacker News

Ask HN: Should I be learning Scala in 2019?

news.ycombinator.com

1–10 of 41 posts

Ask HN: Should I be learning Scala in 2019?

#1
So, I'm mostly a .NET and Node.js guy (with front-end experience as well). I wanted to branch into the Java ecosystem but having prior experience in Java, I was not a fan of the syntax.

I have heard a lot about Scala and I decided to jump into that (without enough research). I got a Scala book and I'm about a 100 pages in and I must say I do like the language, its seems very interesting and productive to me thus far. However I decided to google about language usage, future and jobs.

The results weren't very motivating and now I'm doubting whether I should keep going? Are companies choosing Scala nowadays for new projects? (not talking about legacy systems)

Re: Ask HN: Should I be learning Scala in 2019?

#2
My answer is Yes. There is still a lot of momentum behind Scala. It's pure functional structures are way more mature than Java's. The most common complaints against Scala are build tools and compiler. A great team is working on it as we speak.

Scala also forces you to think differently.

Re: Ask HN: Should I be learning Scala in 2019?

#3
Even if you end up not using it for anything in production, it is always worthwhile to learn new programming languages, how they approach solving problems and structuring programs.

It opens our mind to new ways to architecture our software.

Re: Ask HN: Should I be learning Scala in 2019?

#4
As everything: that depends. In general it's a good mindset change after .NET (well, unless you're doing F#) so it both grows your ways of thinking and your repertoire. If you have limited time to learn and you're doing it for a new job, the equation might be different.

Re: Ask HN: Should I be learning Scala in 2019?

#5
This link compares search volume for Scala, Rust, and Kotlin for past 12 months in U.S.

https://trends.google.com/trends/explore?geo=US&q=%2Fm%2F091...

(Scala wins by a large margin!)

Awhile ago I chose Scala for a multi-year side project. I love writing Scala. I think the Scala community is quietly productive and mostly talks to themselves.

I'm not a Scala expert by any means, but I have have been programming for awhile and appreciate the power and terseness that comes out of my Scala code. It feels like I have more time to design well because I needn't write so much code :P.

Going to attempt a good/bad/ugly for Scala...

Good: - Scala ecosystem very much under active development. Scala 3.0, compilation speed improvements, popular libraries updated regularly, IDE integration (VSC is recommended right now I think) - Powerful. Scala's type system is relatively advanced. If used properly I think this can reduce bugs and cost of maintenance and new features. - Fast and portable. jvm!

Bad: - Scala's relatively slow compilation reduces cycle time, but I find often this is mitigated by confidence in the code I'm writing, so I don't often need to stop and run it to ensure correctness. - Very high learning curve to wield the power effectively. Scala is an ecosystem that demands commitment. For example, sometimes I feel like I'm missing the requisite PhD to get the sbt build tool working properly.

Ugly: - Due to Scala's power and high learning curve, a few failure modes may occur that make Scala impractical for many real-world software teams: Scala/functional experts can write a "Russian doll" of abstractions that's hard for someone less experienced to decipher, code review, or maintain; new team members who are also new to Scala/functional may have to ramp up with both business/codebase and functional concepts; and Scala gives you so many different "ways" to solve the same problem that code styles may diverge even in a small team, increasing cost and risk.

Overall I really love Scala, am looking forward to Scala 3.0, and intend to use it for many years, especially for projects with small, experienced teams where Scala's power and learning curve is an asset and not a liability.

Re: Ask HN: Should I be learning Scala in 2019?

#7
I think it is worth it to learn the functional aspects. Depending on other things you would want to explore there are some great libraries - Building reactive systems with Akka or data analysis/pipelines with Spark. I would suggest looking at a few books to get going with Scala as online resources aren't great.

- Functional Programming in Scala

- Akka In Action

Re: Ask HN: Should I be learning Scala in 2019?

#9
I love scala, it’s probably my favorite language. It’s one of the most flexible and powerful languages I’ve ever come across. The downside of this is that it very complicated, I wouldn’t consider myself anywhere close to an expert even after developing with it professionally over 5 years.

In regards to new projects, I do believe people are using it for new stuff. Both Spark and Akka are very powerful libraries that have little parallel in other languages.

Imo, Scala is the most advanced language on the jvm, far outclassing Kotlin, Clojure, and Java in terms of expressiveness.

I would recommend learning it and playing around with Spark. I think the combination is very employable.

Also, Scala is so much fun! I love it!

Re: Ask HN: Should I be learning Scala in 2019?

#10
post #9

I love scala, it’s probably my favorite language. It’s one of the most flexible and powerful languages I’ve ever come across. The downside of this is that it very complicated, I wouldn’t consider myself anywhere close to an expert even after developing with it professionally over 5 years. In regards to new projects, I do believe people are using it for new stuff. Both Spark and Akka are very powerful libraries that h…

> Imo, Scala is the most advanced language on the jvm, far outclassing Kotlin, Clojure, and Java in terms of expressiveness.

Exactly why I don’t want any new scala code on my team. We don’t need engineers spending three days arguing about pedantic differences in the language because something can be done 8 different ways. And who wants to maintain something in scala that they didn’t write? It’s a nightmare.

Post reply on HN