Hacker News new | ask | show | jobs
by yingliu4203 2252 days ago
Haoyi is an amazing guy. Last night at 8pm and 2pm this morning I submitted two PR to the Mill, he merged within one hour. In about 7 years, he helped to create an eco-system around Scala:

- REPL (ammonite)

- build tool (mill)

- JSON serializer(uPickle)

- web framework (cask)

- test framework(uTest)

- http client lib (requests-scala)

- HTML tag lib (scalatags)

- parser(fast parse)

Scala development and tool can be divided into four categories

- Java (OO): wrong idea for many developers. Use Kotlin if you like OO.

- Haskell (pure FP, even HKT): good for fun but not for profit. Use Haskell for pure FP.

- Erlang (Actors): fibers are better. Use Clojure if you like Actors.

- Easy: practical FP, the above tools from Haoyi. Use them if you program in Scala

I'd guess all is done after work. Please support him to make Scala better: https://www.patreon.com/join/lihaoyi

4 comments

> - Erlang (Actors): fibers are better. Use Clojure if you like Actors.

Usually the suggestion for actors is to use something else, but I think the main exception is the big one. If you have a need for horizontally scalable concurrent state and behavior, there hasn't really been a good alternative to distributed Akka Cluster Sharding. People are working on it, but I don't think we're there yet (although my opinion might be six months out of date, I haven't caught up).

> - Haskell (pure FP, even HKT): good for fun but not for profit. Use Haskell for pure FP.

My day job disagrees Haskell isn't good for profit ;)

Haskell is not for every Joe working on ERP projects
I argue after the initial learning curve every Joe would find it easier to avoid bugs in Haskell.

https://www.simplehaskell.org/

Then if you use simple Haskell for a year and want more type safety, you can fearlessly refactor to get that.

I think you're missing perhaps the biggest camps in the form of the Lightbend ecosystem (very much pragmatic OO/FP hybrid) and the big data ecosystem around Spark. Even though the Lightbend stack also has Java APIs, the Scala APIs are very much their own thing.
Ligthbend is behind the Akka and Lagom
I don't think I've ever heard of Fibers. What's wrong with actors?