Scala means a stairway, or steps in Italian and is intended to take your programming to the next level by combining the best of object oriented and functional programming. Experienced developers love it because it is quick and intuitive to program in once you know what you are doing, code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application. Developers love it because they don't have to start from scratch, scala is compatible with the Java Virtual Machine and all the libraries you currently use. It isn't just an academic language, Scala is now used in a number of open source projects and companies. It provides the core infrastructure for sites such as Twitter, LinkedIn, Foursquare, Tumblr, and Klout. Expand your knowledge and learn a new language that is useful and growing!
This link will give you all the information you need to know so that you can understand why Scala is the shiny new hotness all the programmers are talking about.
The main scala site has a good tour but this one is also a good alternative. Give it a look and see some basic overview concepts from another point of view.
The Play framework is one of the best environments to program in scala. So ditch the commandline and get yourself a modern framework that makes it easier to build web applications while you learn how to code in this refreshing and powerful language. Play is based on a lightweight, stateless, web-friendly architecture and features predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications. It really is different than anything you have ever used and provides a great platform to learn scala. It takes all the great things from all those other rapid prototyping frameworks and puts them in a framework that you can use professionally. So learn a bit about play so you can get yourself to the point where you have a comfortable environment to learn by doing something that interests you. Download Play: http://www.playframework.org/ Create the demo application: http://www.playframework.org/documentation/2.0.4/NewApplication Read through all the playframework.org documentation Read the Play for Scala book: http://www.manning.com/hilton/
O'Reilly released Programming Scala under a CC license, and is available online for free. Probably because the scala language is changing versions so quickly. But the basics are the same so go through this free online resource and learn.
This book is the one to own if you are serious about learning Scala. Most scala courses use it as the textbook which is not very surprising since it is written by the designer of the language, Martin Odersky. It takes a step-by-step tutorial approach to teaching you Scala. Starting with the fundamental elements of the language, Programming in Scala introduces functional programming from the practitioner's perspective, and describes advanced language features that can make you a better, more productive developer.
This course introduces you to functional programming using the Scala programming language. In this course you will discover the elements of the functional programming style and learn how to apply them. The course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series of assignments, most of which are also programming projects. Coursera.org partners with the top universities in the world to offer courses online for anyone to take, for free. I am not sure how they are funding this but you are not paying for it. So take advantage of this great learning experience.
Scala school is a series of lectures at Twitter used to prepare already experienced engineers to be productive Scala programmers. These lectures assume you know basic programming concepts but it is likely that you do if you want to learn scala. Go through them and learn some stuff.
Scala styling is a bit different than other languages. If you are at this point, you are well on your way to becoming an expert. Time to learn the common accepted standards so you can have standardized code and contribute in an accepted way to open source projects.
Now that you are familiar with general scala coding standards, create your own for yourself or your company. Here is a resource that can be forked so you create your own.