I'd like to learn Scala

So I've not tried out OOP and functional programming, and I've seen that Scala is simply a nice blend of the two, but I'm not 100% sure where to start. I mean I haven't even tried learning it yet, but can anyone with any experience with Scala give me any recommendations at all?

I mean I feel fairly confident with Java, JavaScript and a few other fairly easy languages, and I'm currently learning Haskell in university, and I've got to say, it seems quite impressive. I've also learnt assembly, but I can't say I'm super confident with that, but I can't see myself being an assembly developer/programmer any time soon. I also quite like how it feels different to what I'm used to in terms of programming. I've also tried a few other languages, like Fortran and some older stuff, stuff that I don't really need and probably won't end up using, but I thought it would be neat to learn some of them. And I've also had to learn some of the languages I've namde for my university course.

I plan on trying to learn it at a slightly later date, just for fun more than anything, and I hope that I could learn something new just from using it, if possible.

If you're familiar with a particular Java libraries I recommend making a project in Scala using them. In my past experience calling Java code from Scala is pretty much 100% painless. That's how I dipped my feet into Scala - wrote a Java Swing app in Scala.

After that if you want a easy introduction to functional programming in Scala I can recommend the book "Functional Programming in Scala" by Mr Rúnar Bjarnason (btw you can also find videos of his talks on yt). The book really starts you off with the basics like pure functions, recursion, etc, so its a good pick for a CS student.

1 Like

That does sound good, I guess it wouldn't hurt, and yeah, I'm only a second year CS student.

I would recommend going through the documentation, there are a good size of youtube videos on Scala. one way of studying it might be through spark. Scala is very well established for server back end and robustness in that area. I am still learning Scala myself. I am using the programing is scala book 3rd edition. One more advice is to familiarize your self with math as it will help you later on, don't focus much on functional programing at the start just get the basics then start programing and experimenting.

1 Like

The only reason to do assembly is if you did stuff like I did with low level hardware cravking and reverse engineering :P unless you wanted to make an OS out of assembly lol.

I think codecademy has some scala stuff, might be a good place to start.

I think there is also a free Udacity course by Martin Odersky (the Scala guy^^). You can check out his videos too. His English is a little bit "german" though.

@Argon

There's enough there to get you started

One thing that I'd recommend looking for if you ever want to dip your feet into a new language is to search for Koans in the given language. You can find Koans for other languages such as Clojure. They're fun little riddles.

I think the main Koans site for Scala was renamed to scala-exercises but I could be wrong.

1 Like