Scala - Beginners guide help

Hi Team,

I am new to this community and also would like to learn Scala . I am not from open source background , please advise for good tutorial /course explains concepts in depth for beginners .

Editor needs to use to learn Scala ?

Thanks
Balaji K

If you don’t have much previous programming experience, your options are a bit limited. I know of Atomic Scala and my materials. I’ve been teaching CS1 and CS2 using Scala since 2010. I have video lectures posted on YouTube that anyone can view and textbooks published by CRC Press.

CS1 - YouTube Videos, Textbook
CS2 - YouTube Videos, Textbook

If you have a fair bit of programming experience, there are a lot more options. The ones I normally recommend are the courses EPFL has created on Coursera or “Programming in Scala” by Odersky, et al. and “Scala for the Impatient, 2nd Edition” by Horstmann.

Hi, my guess is, you’re not from an open source background–that means that you work in commercial software? Maybe Java, something like that?

Anyway, Scala is a bit of a different mindset from regular OOP, primarily because we use the type system a bit more heavily, especially to control what we call effects (i.e., things that would be side effects if they were uncontrolled, like input/output, randomness, exceptions).

So to my mind a really good way to get into the ‘effectful’ mindset is what we call the Red Book: Functional Programming in Scala by Bjarnason and Chiusano. I would recommend you try to work through that book if you are already a software dev, it will really put you into a Scala mindset.

Update: I just remembered you asked about an editor. IntelliJ IDEA will work if you install the Scala plugin but be sure to install the Scala toolchain first–JDK 8 or 9, then sbt.

1 Like

Thanks!!

Hi I am from Mainframe background , just completed basics learning on Scala . I am going thru Scala cook book written by Alvin Alexander . Will post my questions to the forum if i struck with my logic .
My questions initially will be simple or sound to be silly since i am beginner in scala . please execuse.

Nothing to excuse – beginner questions are explicitly welcome here…