Live data from Hacker News

Ask HN: Should I be learning Scala in 2019?

news.ycombinator.com

31–40 of 41 posts

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

#31

> I wanted to branch into the Java ecosystem but having prior experience in Java, I was not a fan of the syntax. Independent of the question around Scala: If you want to get into the JVM ecosystem, you should also be able to understand and write Java. Some dependencies will not be available natively in a secondary language like Scala. And it will also give a better understanding about the limitations of the underlyin…

This. Almost all libraries and their example/documentations will be written in Java, so you have to learn Java if you want to use other language in the JVM.

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

#32
If you want to branch into Java, learn Java.

More importantly, why do you want to branch into Java specifically? Is there a company/job you have your eye on? Or do you want to get into web dev backend?

Because there are so many, many languages/technologies out there, asking "should I learn X?", the answer is always "if you like it or it'll get you a job you want, yes"

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

#33
post #28

Earlier quoted context omitted.

Anyone that has an employer that allows setting learning goals as part of the evaluation process.

I agree and my company does the only two things in support of my learning goals that I could expect. They will let me work on a project using technology that they know I’m not the most experienced with to give me the chance to learn it instead of siloing me on just my area expertise and they reimburse me for AWS certifications. Both of which at the end of the day help them out. I wouldn’t expect them to let me spend…

Faire enough, on my case I am free to spend the time on any technology, provided it is agreed upon and I happen to do an session to the team afterwards.

So lets not generalize if it is a waste of time to the OP to learn Scala.

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

#34
Scala is good, but I haven't seen it being used as much as it was popular a few years ago. It may die with a handful of loyal users, sadly; I bought the new Scala book myself and it's gathering dust.

You may want to check out F# if you're looking for a .Net functional language. Or try out Haskell.

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

#35
post #13

Earlier quoted context omitted.

> 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.

I mean, as long as everyone agrees to use purely functional constructs and heavy use of monadic intetfaces, I haven’t found it a problem. Without mutability and with referential transparency for all structures, I think it’s fine. The problem is when you have a Java guy on the team who writes crap OO code. That’s when it becomes impossible to reason about. We had a rule on my last scala dev team that if you wanted to…

That sounds a bit reductionist, as if 'heavy use of monadic interfaces' would be kind of a silver bullet. There's a lot of concepts to internalize before being able to build large scale systems using categorical abstractions: Monads, monad transformers, free monads, applicatives, arrows, ...

When to choose what? Probably leave the choice to library-implementors mostly. Still, should the bar to implement a library be set so high? The middle ground seems to be what e.g. Rust is doing. No explicit categorical types, use functions where functions make sense, i.e. for most stuff that isn't I/O.

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

#37
post #35
post #13

Earlier quoted context omitted.

I mean, as long as everyone agrees to use purely functional constructs and heavy use of monadic intetfaces, I haven’t found it a problem. Without mutability and with referential transparency for all structures, I think it’s fine. The problem is when you have a Java guy on the team who writes crap OO code. That’s when it becomes impossible to reason about. We had a rule on my last scala dev team that if you wanted to…

That sounds a bit reductionist, as if 'heavy use of monadic interfaces' would be kind of a silver bullet. There's a lot of concepts to internalize before being able to build large scale systems using categorical abstractions: Monads, monad transformers, free monads, applicatives, arrows, ... When to choose what? Probably leave the choice to library-implementors mostly. Still, should the bar to implement a library be…

Certainly monads, semigroups, etc etc aren’t the silver bullet a lot of people think they are. But it is amazing how many forms of computation can be formalized into these structures. Of course, just because you can doesn’t mean you should. A lot of times it just makes things more complicated for no benefit (a lot of IO monads fall into this category I think).

But there is a big benefit to using these category structure: you don’t have to think as hard about the underlying implementation because you know it must obey certain laws. Also category theory interfaces tend to be pretty simple and easy to learn: most of are defined by a couple functions and a couple laws.

Everyone knows how to map or flatMap, and that’s really all you need in a lot of code!

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

#38

I lead a team who rewrote their stack from C#/C++/Win to Java/C++/Node. Big wins were being able to leverage the much larger ecosystem, and containerization. We played with Scala but it didn’t work for our team, the expressivity is a two edged sword. Runtime is absolutely fine though it was all about complexity, and poor developer tooling. And since we are in a smaller market, not SV, sticking to platforms where we c…

What big win did you get from moving from C# to Java that you wouldn’t get just from moving to .Net Core?

Cheap coders?

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

#39
post #38

Earlier quoted context omitted.

What big win did you get from moving from C# to Java that you wouldn’t get just from moving to .Net Core?

Cheap coders?

It seems like it. If there only goal was to move from Windows, they spent a lot of money rewriting their whole stack instead of just migrating to .Net Core.

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

#40
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…

Akka.net is rather good.. Also akka is heavily inspired by the core facets of Erlangs actor model. It is certainly a parallel if not more.
Post reply on HN