Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Scala Overview for Java Development Teams

No description
by

John Langley

on 27 March 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Scala Overview for Java Development Teams

Foundation Learning & Resources Something Simple... Play App Teaser Live Demo... What's next? Try it! Some Important Frameworks
Familiar Object Oriented capabilities:
Class, Object, etc.
great innovations like Case Classes
Functional Programming!
Higher Order Functions
Pattern Matching
Great Collections Library An Overivew of Scala Github of this demo code
https://github.com/langley/play2.1-ScalaTeaser.git

Here are some pieces for live demo pasting
Universal Web Proxy Service -- gist
https://gist.github.com/langley/5025178
Simple JsonService -- gist
https://gist.github.com/langley/5025197 For Java Development
Teams
Martin Odersky
Built javac
Author of Generics in Java
Prof. at EPFL in Switzerland
Scala dev. began in 2001
In production for years
Twitter, LinkedIn
FourSquare, Tumblr, lots more Scala runtime & tools Runtime
Default compiles to JVM bytecode
CLR / .Net compiler
LLVM, Javascript, etc. Tools
REPL -- Read, Evaluate, Print Loop
IDEs: Eclipse, IntelliJ & Netbeans
Maven Support
SBt -- Simple Build Tool Scala is a multi-paradigm language! Scala's Lineage Reactive Web Applications
Both Scala and Java
Implemented with Akka
OAuth and OpenID support
Hit Refresh Workflow!
Great testing support
http://www.playframework.com Play -- Web Framework Highly concurrent, distributed & fault tolerant systems
High Performance Actors (50 million msg/sec)
Advanced Distributed Computing
Supervisors, Dispatchers & Routing
Remoting w/ ProtoBuf, ZeroMQ, Camel (AMQP, JMS, etc.)
Event Bus
http://akka.io/ Akka -- Distributed Apps Comparing Java & Scala Scala Language
http://www.scala-lang.org/
Twitter's Scala Scool -- step by step instructions
http://twitter.github.com/scala_school/
JetBrains Scala Blog -- IntelliJ Plugin
http://blog.jetbrains.com/scala/
ScalaIde -- Eclipse Extensions to support Scala
http://scala-ide.org/
TypeSafe -- Consulting, Training & More
http://www.typesafe.com
Coursera -- Functional Programming in Scala
https://www.coursera.org/course/progfun Java v Scala: Myths and Facts
http://www.infoq.com/articles/scala-java-myths-facts
Java8 v Scala Feature Comparison
http://www.infoq.com/articles/java-8-vs-scala
StackOverFlow question about comparisons
http://stackoverflow.com/questions/2952732/samples-of-scala-and-java-code-where-scala-code-looks-simpler-has-fewer-lines Let's compare something simple... (Live Demo) Define a simple Person class
w/ first, last name and age
hashcode and equals naturally Then print a list of these persons...
older than 18 in order of age. https://github.com/langley/simpleScalaVJava Other Interesting Libraries Twitter!
https://github.com/twitter
Finagle -- network comm.
https://github.com/twitter/finagle
Ostrich -- server config, stats & control
https://github.com/twitter/ostrichNet LinkedIn
http://engineering.linkedin.com/tags/open-source
Kafka -- high scale distributed pub/sub!
http://kafka.apache.org/index.html NetFlix -- Java, some scala and Rx... But look at Iteratees
http://techblog.netflix.com/2013/01/optimizing-netflix-api.html Download SBT and install it
http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html

Checkout Twitter's Scala School (needs SBT)
http://twitter.github.com/scala_school/

git clone this to try scala. the simple ScalavJava
https://github.com/langley/simpleScalaVJava

Don't have git?
http://git-scm.com/book/en/Getting-Started-Installing-Git

Download PlayFramework
http://www.playframework.com/download

git clone this, then type play to try the simple Play app
https://github.com/langley/play2.1-ScalaTeaser.git Resource links http://research.google.com/pubs/pub37122.html Google Comparison of C++, Java, Scala & Go
Full transcript