Random Scala stuff for newcomers
The Scala ecosystem is huge. All kinds of tools, new tools, special tools, tool tools. Some are familiar to Java people, some are Scala specific. This page is a collection of tools I have encountered and things new people will find helpful. There is also the Scala resources page and many other resources listed in the resources page. This page lists some of the things you will encounter first. You should also check out the Scala Best Practices page. Which has links to articles, pdfs and other information about Scala best practices. Maybe you would enjoy a good Scala/Java joke this is how I chose Scala over Java LOL. You might also check out my page that lists Scala Frameworks and tools
You will need an IDE and I suggest IntelliJ IDEA . I used to use Netbeans and tried eclipse, but Intellij seems to work the best and is the most preferred by Scala Devs. I use the free version and have not tried the paid edition yet, but it adds features I may find handy when I really get to writing Scala code. I use Windows. The first time I installed Intellij and started it, it hung up and froze badly. If this happens just restart windows. That is what worked for me and it has worked every since. I think it messed up during install some how.
First you must install SBT. Forget maven, gradle etc. Everything is SBT. If you don’t want to use SBT you are in a huge world of hurt like the kind of person who wants to swim upstream in rapids during a snow melt flood. So first you must read all about SBT. Everything everywhere refers to SBT so don’t fight it, just learn it.
Link to SBT website.
Link to the Scala website on how to use SBT with Scala.
Link to the SBT section of the Scala Book. I wish this book was around when I started learning Scala.
I like this book and would suggest it. It is from 2016 and right now it is only $1.99 US used, but it won’t be long watch. SBT in Action by Joshua Suereth and Matthwe Farwell
You will constantly run into references of Giter8 in Play, Lagom and other frameworks etc. Giter8 makes setting up Scala projects much easier. It is basically a template system that you use through the command line which quickly creates the project structure for you with the basic files and folders needed.
You will need this for Giter8. A wicked web we weave. Conscript makes it easier to install Giter8 and other Scala command line tools. Read the Conscript documentation and information, it is really a nice little tool.
Eat that Cake – an article about building inheritance, objects and dependency management in scala.
Scala Cake Pattern – more about the cake dependency injection pattern.