6 ms·
This looks nice! Can anyone recommend other good resources for Scala beginners? I'm checking out Twitter's Scala School[1] but the disclaimer near the start ind
by muraiki 12y ago
This looks nice! Can anyone recommend other good resources for Scala beginners? I'm checking out Twitter's Scala School[1] but the disclaimer near the start indicates that it's based on an older Scala version. I'm also using Odersky's "Scala by Example"[2]
1: http://twitter.github.io/scala_school http://twitter.github.io/scala_school
2: http://www.scala-lang.org/docu/files/ScalaByExample.pdf http://www.scala-lang.org/docu/files/ScalaByExample.pdf
- benjaminjackman 12y agoUsually we have programmers take the Odersky coursera course. [1] 1: https://www.coursera.org/course/progfun https://www.coursera.org/course/progfun
- jgrowl 12y agoI took this course about a year ago. It was my real exposure to a functional language. I had a lot of fun!
- modersky 12y agoI think the Twitter school is pretty up-to-date. Scala-by-Example is older. There are also a large number of good books teaching Scala. I believe it's worth investing in one or two. And, there's my Coursera course, if you want a more rigorous introduction not just to Scala but to functional programming in general.
- 67726e 12y agoThe Coursera Functional Programming Principles in Scala[0] course is definitely worth the time. Coming from being a Java programmer in my day job, it's made my Scala I've written since a lot cleaner, in my opinion. It's also had the side effect of making Java a bit more unbearable. It's definitely not to be approached as a beginner to programming though. [0] - https://www.coursera.org/course/progfun https://www.coursera.org/course/progfun
- muraiki 12y agoWow, I didn't expect to receive a reply from you! Thanks, I'll check out the Coursera course. I did start reading "Functional Programming in Scala" by Paul Chiusano and Rúnar Bjarnason, but wanted something a bit more beginner-friendly. Then again I was recovering from a concussion at the time, so perhaps I should revisit it now. :)
- nrinaudo 12y agoWhile Functional Programming in Scala is great, it focuses on areas of Scala that I think are better tackled once you're more familiar with the core language - pattern matching, traits, case classes, variance, for comprehensions... I find that the best book if you want a deep understanding of the language is Odersky's Programming in Scala. Complete, thorough, well written. It does expect you to have some programming experience, and some bits are perhaps over-detailed, but as long as you allow yourself to skip the bits that bore you, you're in for a treat.
- NickPollard 12y agoI would definitely recommend Martin's Coursera course, it's incredibly well structured and very well delivered, with enough difficulty to be challenging but it guides you through very gently. Well worth it for learning both Scala and Functional Programming.
- jghn 12y agoIn retrospect I found it to be more of a "functional programming which happens to be using scala" class and less an "intro to scala". That's not a bad thing (nor a good thing, it's just a thing) but it's not necessarily what is most useful for a person. A few years ago I joined a group which had been using scala for a while (since '09ish IIRC) and I took the coursera class to get up to speed. It definitely helped but the reality was that their code base was closer to being java++ than to haskell and a lot of the early habits I picked up from the coursera class were immediately beaten out of me once I got rolling there. One could argue that they were in the wrong, but I disagree - Scala is a multi-paradigm language and not everyone is going the FP route (I recently heard Venners refer to Scala as a "reform movement for OO, which is how I personally treat it, but that's neither here nor there). All this said, I don't have a better suggestion. As I mentioned I took the Coursera class and read the Staircase book. The Twitter stuff online was useful but mainly I just read as much as I could online, tracked down conference videos, etc.
- stusmall 12y agoPrograming in Scala[1] helped make a lot of things click for me. I'd start there. 1.http://www.amazon.com/Programming-Scala-Comprehensive-Step-Step/dp/0981531644 http://www.amazon.com/Programming-Scala-Comprehensive-Step-S...
- noelwelsh 12y agoThanks! If you like Creative Scala I hope you'll consider Essential Scala, which is our follow on course. It's available as a book and we also deliver face-to-face training online and at public courses: http://underscore.io/training/courses/essential-scala/ http://underscore.io/training/courses/essential-scala/ We wrote Essential Scala because we didn't think any of the existing introductory books meshed with how we want to teach. Essential Scala focuses on core patterns of functional programming, and only introduces Scala features as necessary to support these patterns. I'm happy to email you (and anyone else who is interested) an excerpt. I'm noel at underscore dot io.
- rrherr 12y agoI like Venkat Subramaniam's "Scala for the Intrigued." There's a 12 part article series[1], and a video.[2] 1: http://blog.agiledeveloper.com/2012/08/scala-for-intrigued-article-series.html http://blog.agiledeveloper.com/2012/08/scala-for-intrigued-a... 2: https://www.youtube.com/watch?v=grvvKURwGNg https://www.youtube.com/watch?v=grvvKURwGNg
- cbogie 12y agoi just met a guy named jason swartz who wrote this book: http://shop.oreilly.com/product/0636920030287.do http://shop.oreilly.com/product/0636920030287.do http://chimera.labs.oreilly.com/books/1234000001798/index.html http://chimera.labs.oreilly.com/books/1234000001798/index.ht...
- doug1001 12y ago"Scala for the Impatient" by Cay Horstmann; awesome resource to learn Scala because the author relies heavily on Scala REPL and the supporting text is full of clear succinct summaries of fundamental scala concepts
- Arun2009 12y agoI'd recommend you to bite the bullet and work through "Programming in Scala 2E" by Odersky, Spoon and Venners. It's a pretty thorough and systematic introduction to the language and its philosophy.