Scala is used at the world’s largest financial institutions and hedge funds to develop the next generation of trading platforms.
We love Scala because it provides a type safe language with powerful features that are required for developing options trading algorithms at scale. Our traders love Scala because it simplifies the construction of trading algorithms.
Scala Resources
- Don’t worry – you only need to know a minimal amount of Scala to develop advanced options trading algorithms using the OptionStack platform!
- Coding in Scala can be fun! Take a look at some of the Scala resources below, and you’ll be up and running in no time!
First Steps
- First Steps to Scala Article
- Try Scala Tour – interactive tour of the scala language
- Try Scala for the Impatient – should be enough to get you started
Useful Links
- Scala Lang – The Scala Language site / api docs
- Twitter Scala School
- Java to Scala cheatsheet
- The Neophyte’s Guide to Scala – for beginners ready to delve a bit deeper.
- StackOverflow Scala Wiki
- Scala Types of Types – good overview of different types in Scala
Scala Books
- Programming In Scala 2nd Edition by Martin Odersky, Lex Spoon and Bill Venners – Definitive, but dare we say it, a little dry. That being said, it’s a text-book that’s worth reading.
- Scala in Depth by Joshua D. Suereth – Excellent book for more advanced topics – don’t start with this – but when you are ready, read it, then read it again.
Scala Courses
Some excellent free Coursera courses are available. They are 7 weeks long, so it’s a commitment, but worth it. Start with the Functional Programming Principles – this teaches functional programming through Scala.
Tips
- Between Zero & Hero Tips – Age Mooij’s Scala Tips and Tricks for the intermediate Scala developer
- StackOverflow Hidden Features of Scala
Style / Coding Standards
- Scala Style Guide – mostly naming conventions, indentation style etc.
- Twitter’s coding standards
- “Scala In Depth” by Joshua D. Suereth – Chapters 2+3 – This contains some good advice similar to “Effective Java”
- Zen of Python – provides some good general principles for succinct coding styles, these apply equally well to Scala code
Practising Scala
- Scalatron a programming game that can help with learning Scala
- Some puzzles that can be useful as well – Ninety-Nine Scala Problems
Functional Programming
- Introduction to Functional Programming –This is an excellent presentation that shows how functional programming simplifies using APIs and Futures