A sightseeing tour


      Iulian Dogariu
      Ness Technologies
Iași JUG – 13 February 2013
Scala
I’m sure I’ve been here before
That’s it! Goodbye



 And thank you for riding with Scala Tours
Who are You?
“If someone had shown me the
Programming in Scala book in 2003, I
would not have created Groovy”

                -- James Strachan, creator of Groovy
Scala
C:

“ASM is not portable”
C++:

     “C is nice,
but OOP is the future”
Java:

      “C++ is nice,
but it’s too dangerous”
C#:

    “Java is nice”
“And we’re so jealous!”
Scala?
     “Java is nice”
“And we’re so jealous”
    “… of Haskell”
   “… and Erlang”
   “… and Python”
Functional style
           Express processes, not just things




def listCapitalisedWords(text:String) =
    text.split("s").
      filterNot(_.isEmpty).
      filter(_.charAt(0).isUpper)
Massive concurrency

Message passing


No shared state


Ready for the “multicore era”
But also

Less code => Less room for bugs to hide in (!)


More expressive constraints in the types


Full Java interoperability
Options, options everywhere
“We can do this in Java too”



 It’s not what is possible, it’s what is easy
Pattern matching
Got Change?



val vs var
Traits
λ
What’s the use?



Language is a medium of expression, not just a tool
Data structures
     Choose the right one, and the algorithms take care of themselves

val weekdays = List(“Monday”, “Tuesday”,
                    “Wednesday”, “Thursday”,
                    “Friday”)

val beatles = Set(“Ringo”, “John”,
                  “Paul”, “George”)

val aTuple = (1, “John Smith”, false)

val dataset = Array( (1, “Ion Popescu”),
                     (3, “Maria Teodorescu”) )
Actors
Who uses Scala?




Source: slideshare.net/mslinn/scala-adoption-by-enterprises
How popular?




    …

         Source: TIOBE index February 2013
… hmm.




         Source: TIOBE index February 2013
Tooling
Pitfalls




and oddities
One more thing
specs2
Scala
[…] You can write large programs in
JavaScript. You just can’t maintain
them.
                           -- Anders Hejlsberg
Use your head

“Lacking opinions, all code reflects the coder”
Resources
• http://www.scala-lang.org

• Book: Martin Odersky – Programming in Scala

• Book: Venkat Subramaniam – Programming Scala

• Commercial support: Typesafe, Inc.
  http://www.typesafe.com
Thank you!

More Related Content

PDF
The Sad Story of the Server that Tries to Please Everyone
PPTX
All about scala
PDF
Scala - from "Hello, World" to "Heroku Scale"
PDF
Scala at HUJI PL Seminar 2008
PDF
Scala and jvm_languages_praveen_technologist
PDF
Scala Sjug 09
PPT
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
PDF
BCS SPA 2010 - An Introduction to Scala for Java Developers
The Sad Story of the Server that Tries to Please Everyone
All about scala
Scala - from "Hello, World" to "Heroku Scale"
Scala at HUJI PL Seminar 2008
Scala and jvm_languages_praveen_technologist
Scala Sjug 09
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
BCS SPA 2010 - An Introduction to Scala for Java Developers

Similar to Scala (20)

PDF
An Introduction to Scala for Java Developers
PDF
Yes scala can!
PDF
Scala, Akka, and Play: An Introduction on Heroku
PPTX
Introduction to Scala
KEY
Scala Introduction
PDF
A Brief Introduction to Scala for Java Developers
PDF
Miles Sabin Introduction To Scala For Java Developers
PDF
Stepping Up : A Brief Intro to Scala
PPTX
Scala in practice
PDF
Short intro to scala and the play framework
PPTX
Scala, Play 2.0 & Cloud Foundry
PDF
Introduction To Scala
PDF
Scala tutorial
PDF
Scala tutorial
PPTX
Scala-Ls1
PPTX
Introduction to Scala language
PPTX
Scala final ppt vinay
PDF
Scala for dummies
ODP
Introduction To Scala
PDF
The Scala Programming Language
An Introduction to Scala for Java Developers
Yes scala can!
Scala, Akka, and Play: An Introduction on Heroku
Introduction to Scala
Scala Introduction
A Brief Introduction to Scala for Java Developers
Miles Sabin Introduction To Scala For Java Developers
Stepping Up : A Brief Intro to Scala
Scala in practice
Short intro to scala and the play framework
Scala, Play 2.0 & Cloud Foundry
Introduction To Scala
Scala tutorial
Scala tutorial
Scala-Ls1
Introduction to Scala language
Scala final ppt vinay
Scala for dummies
Introduction To Scala
The Scala Programming Language
Ad

Scala