Live data from Hacker News

Hands-on Scala Programming

handsonscala.com

91–100 of 108 posts

Re: Hands-on Scala Programming

#91
post #59

Earlier quoted context omitted.

Unfortunately like you say the pure FP crowd are extremely vocal online and that seeps into the culture of any company that uses Scala. Most of the visible members of the community value and advocate for fp purity and 100% type-safety at any cost, and that has a large effect on who gets attracted to learn Scala in the first place, what they consider to be good or bad code, etc. The resulting culture of firms using Sc…

There is definitely some truth in what you’re saying —- especially at startups without a strongly developed internal Scala culture. I think it’s less of an issue at large companies like Twitter, Asana, Databricks, etc, which overall probably employ most working Scala programmers but not the most vocal.

Zalando has probably surpassed Twitter as the biggest Scala shop for a few years now. If you look at Twitter's ecosystem you'll see that while it's mature, the style is very good overall and not so different from modern and opinionated FP libraries. Twitter used to employ people like Travis Brown for instance.

Spark (and Kafka too maybe) are outliers here.

Re: Hands-on Scala Programming

#92
post #23

This book has a section on "Why Scala" but not on "Why Functional Programming". What is interesting about Scala, if you already know Java (and most CS grads already do), is that Scala is a functional language. Anyone know of a good book or article that gives an overview of functional programming and answers the question of "Why Functional Programming", without going into details any one functional language?

I suggest you read a blog post What's Functional Programming All About?, written by the author of the book himself.

https://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAb...

Re: Hands-on Scala Programming

#94

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 di…

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

Re: Hands-on Scala Programming

#95

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 di…

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

Re: Hands-on Scala Programming

#96

Earlier quoted context omitted.

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

Re: Hands-on Scala Programming

#97

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 di…

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

Re: Hands-on Scala Programming

#98
post #61

Earlier quoted context omitted.

I agree with your evaluation that parts of the FP community are extremely vocal and extremely smug, and this can and does have a bad effect on a community. This is a problem. Dealing with this problem requires leadership . In particular a project leader typically has to decide (in a Scala context) whether to go FP or imperative, because mixing both is often a problem. Similar to e.g. using message passing or shared m…

Option does throw away the error. I like Try { expr } a lot, to the point that I retry, give up, and then serialize a Try[T <: Product] into a Row so flaky dependencies don't trash all the output from a big Spark job.

Yes, that's true, if you want to propagate information about the nature of what went wrong locally (e.g. logging) you need to use something richer (e.g. Either).

Re: Hands-on Scala Programming

#99
post #2

I didn't post this, but cool to see this up here! The full book is ~400 pages and will be released Summer 2020 (i.e. soon!). If you're interested in being notified when it comes out, there's a mailing list link on the page and I'll let you know when it's out. There will be both E-Books as well as paperbacks & hardcovers (assuming the supply-chains are still open in this COVID-19 global environment...) The first 5 cha…

Hiya, found a typo - couldn't see where else to mention it so adding here, maybe the author will notice.

Ch 3.

This chapter will not covering any Scala-specific

should be: This chapter will be not covering any Scala-specific

Otherwise enjoying what I've read so far. I've just been dropped in at the deep end of a project with no scala experience, so I'm trying to get off the ground asap.

Re: Hands-on Scala Programming

#100

> Knowing the language alone isn't enough to go to production: Hands-on Scala introduces the reader to the ecosystem of editors, build tools, web frameworks, database libraries, everything necessary to do real work using Scala. You will finish this book having all the necessary building blocks to be productive using Scala in production. We definitely need more books to include this by default. Kudos! I only wish a bo…

my wish too..
Post reply on HN