Win a copy of Spring Boot in Practice this week in the Spring forum!

Denis Kalinin

Greenhorn
+ Follow
since Aug 08, 2016
Denis likes ...
Scala Java Ubuntu
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Denis Kalinin

Chris Webster already assembled some good resources. Here are my 2 cents.

Cay Horstmann's book is over 300+ pages, so it's not really a quick start. Besides, it's only about the syntax and doesn't cover everything, so I would skip it in favor of "Programming in Scala", which is a must read anyway.

Coursera's "Functional Programming Principles" is not really about Scala. For some reason, people don't pay much attention to its title, but it actually reflects its purpose pretty accurately. It's basically "Structure and Interpretation of Computer Programs" repackaged with Scala instead of Lisp/Scheme. Since it's based on a course for absolute beginners, experienced developers will probably not learn anything practical (it says "Principles of ..."). It's a decent course to learn basic FP stuff, but in terms of Scala you will probably learn more in one hour of watching this video:

https://www.youtube.com/watch?v=DzFt0YkZo8M

Obviously, this video is a hack as the author probably doesn't use Scala for work, but it's an efficient way to pick up the basics. Alternatively, you can start with the free sample from my book:

https://leanpub.com/modern-web-development-with-scala

The sample is about 45 pages and it contains everything you need to know in terms of syntax and FP basics.

With these resources, Scala basics can be picked up in hours as opposed to weeks/months.
6 years ago
We actually had a similar dilemma and after some time settled on using ScalaZ disjunctions. They are composable, don't swallow exceptions (unless you ask them to), can be converted to Option's etc. I even wrote a blog post about it a couple of months ago:

http://appliedscala.com/blog/2016/scalaz-disjunctions/

Some people are turned off by an operator-like syntax, but they can use Xor from Cats, which is basically a clone of ScalaZ disjunction.
6 years ago