THIS TUTORIAL HAS REQUIREMENTS AND INSTRUCTIONS LISTED BELOW
Disrupt your programming comfort zone by picking up Scala, a powerful functional language built on the JVM.
The Scala language combines the static typing and object-oriented modularity familiar to Java developers, the expressive and readable syntax that Ruby and Python developers love, and the first-class functions and immutable collections that are at the core of modern approaches to writing concurrent programs and handling big data. Created in 2003, Scala has reached a maturity level in features and tool support such that it is now considered an Enterprise-ready platform. A winner of the 2014 InfoWorld Technology of the Year award, Scala is used across a range of industries and companies such as LinkedIn, Twitter, Intel, Workday and Walmart.
In this tutorial you will get a hands-on introduction to the Scala language and functional programming concepts, and learn everything you will need to know to build your own REST API from scratch. While we will only have time to cover a small subset of the language comfortably, you will be able to get a clear picture of what it is like to develop in Scala and how this can benefit you as a developer. You will gain experience writing applications in idiomatic Scala and using higher-order functions to work with and manipulate data effectively.
We’ll cover the following topics in this tutorial. By the time you leave, you’ll have a functioning REST API and lots of leads on where to go next with Scala!
Tool and Project Fundamentals
Building A REST API
TUTORIAL REQUIREMENTS AND INSTRUCTIONS FOR ATTENDEES
* You should have basic familiarity with common data structures such as lists and maps, and iterating over them.
* You should feel comfortable working with a shell, ie a command-line interface, and be able to extract archive files, move files & directories and run basic commands.
* You should be familiar with Object-Oriented Programming and have experience developing applications with Java, Ruby or Python
You will need to bring a working laptop with at least 4 GB of RAM and the following software installed:
* JDK 7 or greater
* SBT (http://www.scala-sbt.org/download.html)
Before attending, please download and extract this SBT-based project:
If you have time, view the included README.md file and try running the given “sbt.sh” (OS X or Linux) or “runSbt.bat” (Windows) to verify that you can access the SBT shell.
We recommend Intellij IDEA 13 for Scala development along with their Scala plugin. You can download the Community Edition for free from the Intellij web site. The Scala plugin can be installed from Intellij’s Plugins preferences.
However, feel free to use Eclipse or a text editor if you are more comfortable with them. The actual compilation and server execution will be performed from the SBT shell so the choice of IDE / editor is up to you.
QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.
Jason is a Software Engineer in the San Francisco Bay Area, developing applications and services in Scala at Netflix. Before making the switch to functional programming he managed the developer docs and support team at eBay, wrote advertising and merchandising platforms in Java and built tools and UI prototypes at Apple. His book, “Learning Scala”, will be published by O’Reilly Media in Spring 2014.
Kelsey Gilmore-Innis is a back-end engineer at Reverb, where she uses Scala & functional programming to build powerful, scalable software systems. She strives to write code with charisma, uniqueness, nerve and talent and hopes to one day really, truly, deeply understand what a monad is.
Comments on this page are now closed.
For exhibition and sponsorship opportunities, contact Sharon Cordesse at firstname.lastname@example.org
For information on trade opportunities with O'Reilly conferences contact email@example.com
For media-related inquiries, contact Maureen Jennings at firstname.lastname@example.org
View a complete list of OSCON contacts