Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Practical Introduction To Scala

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for bryanjos bryanjos
November 14, 2013

A Practical Introduction To Scala

Avatar for bryanjos

bryanjos

November 14, 2013
Tweet

Other Decks in Programming

Transcript

  1. OO/FP Hybrid Programming Language that runs on the JVM Created

    by Martin Odersky in 2001 First Release in 2003 Created Typesafe as a Scala Training and Consultant Company There was a .NET version as well. No Longer supported
  2. IMMUTABLE BY DEFAULT Preference is to use val for most

    situations Use var when needed Try to keep mutable variables in smallest scope possible Default collections are immutable but there are mutable versions
  3. TRAITS Very Similar to the concept of mixins in Ruby

    Allow for Multiple Inheritance! Can define both specification and/or implementation
  4. PLAY! MVC Framework Reactive (http://www.reactivemanifesto.org/) Built for scale Coffeescript and

    Less Support Templates based on ASP.NET’s Razor Engine Templates are functions too Used by LinkedIn
  5. SCALATRA Inspired by Sinatra Customize controllers using Traits Can use

    a variety of template engines thanks in part to Scalate (Jade, Mustache, Scaml, SSP, Scuery)
  6. LIFT One of the earlier Scala Web frameworks Probably nothing

    like what you have used before Write normal html. Add class names to specify you want server processing Page loads before processing is done Focused on speed, security, and ease of working with designers Used By Foursquare
  7. RESOURCES Scala For The Impatient (http://www.amazon.com/Scala-Impatient-Cay-S-Horstmann/dp/0321774094) Twitter’s Scala School (http://twitter.github.io/scala_school/)

    Akka (http://akka.io) giter8 (https://github.com/n8han/giter8) Play! (http://www.playframework.com/) Scalate (http://scalate.fusesource.org/) Scalatra (http://www.scalatra.org/) Lift (http://liftweb.net/) Unfiltered (http://unfiltered.databinder.net/Unfiltered.html) Reactive Manifesto (http://www.reactivemanifesto.org/)