Hacker News new | past | comments | ask | show | jobs | submit login

I do think your analysis here is a bit shallow.

- Scala is not an easy language to learn unless you just use it as a "better Java" with syntactic sugar, in which case it cannot be considered to be in the same class as Haskell. The same is true of many other languages folks are proposing, like Clojure or F#. It might be easier to bang something out with Clojure than Haskell, but I don't think it's any easier to master than Haskell.

- Your estimate of the cost (hundreds of thousands of dollars) assumes there's no benefit to the switch. There may or may not be, but you didn't even account for that possibility.

- Highly efficient engineers are also efficient at learning new tools, frameworks, IDEs, etc., because for many developers that's part of daily life.




> Scala is not an easy language to learn unless you just use it as a "better Java" with syntactic sugar, in which case it cannot be considered to be in the same class as Haskell.

The question is how you get to there from here.

6-8 years ago I wrote "better Java" style Scala. For the last couple of years I've been writing Haskell-like Scala and enjoy all the cited advantages. But, crucially, I was able to remain productive the whole time, and do all my learning on the clock while working on real, useful projects. Nowadays I could probably get by in Haskell (I would still choose Scala over Haskell, but that's a separate discussion), but if I'd tried to start with it in the first place I would never have got off the ground.


I'm not necessarily arguing in favor of a team being spontaneously switched to Haskell (any big move like that seems ill-advised in general), but I do find this overall line of reasoning a little unconvincing. You're suggesting that you'll only learn something if there's a smooth, continuous path to its mastery from what you already know. That basically leaves you stuck in whatever connected component of programming expertise you're already in, incapable of making a big jump anywhere else.


> You're suggesting that you'll only learn something if there's a smooth, continuous path to its mastery from what you already know. That basically leaves you stuck in whatever connected component of programming expertise you're already in, incapable of making a big jump anywhere else.

Indeed it does, but I think it's the right choice. How many times can you afford to "not be productive for months" for the sake of learning some new paradigm that promises the world - and how many actually deliver on what their advocates claim? There are dozens or hundreds out there, and while I now know from experience that the advantages of Haskell-style functional programming are real, a priori there was no way to distinguish it from all the oversold-but-useless approaches that are out there. Indeed my experience is that whether you can do it incrementally is actually quite a good signal for whether there's real value in a paradigm, or it's a load of hot air.


Scala is absolutely easier to master than haskell. Source: learned scala with no java experience and then picked up haskell for a while.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: