scala jump start
DESCRIPTION
Introduction to the Scala probramming language. The lecture was delivered in Hebrew. You can watch it at http://youtu.be/XBMbRZs7uFE.TRANSCRIPT
Scala Jump Start
Haim MichaelMay 30th, 2014
All logos, trademarks and brand names used in this presentation, such as the logo of Scalaor any of its frameworks, belong to their respective owners. Haim Michael and LifeMichael are independent and not related, affiliated or connected neither with Scala, EPFL, TypeSafe or any of the companies and the technologies mentioned in this presentation.
You can find the video clip at http://youtu.be/XBMbRZs7uFE.
Li fe M
ic hae l .c o
m
Table of ContentLi fe M
ic hae l .c o
m● What is Scala?● Shorter Code● The Scala Story● Scala in The Industry● Scala Comparison● IDEs for Scala● The Main Documentation● Learning Resources● Questions & Answers
What is Scala?● Scala is a blend of object oriented programming and a
functional one. This mixture is the source of its strength.
● Scala is compatible with Java. The two languages are
interoperable with each other. We can integrate the code
we write in Scala with our code in Java and vice verso.
● Scala is kind of an improvement to Java. Not only that
Scala re-uses Java's types it also “dresses them up”.
scala-lang.org
Li fe M
ic hae l .c o
m
Shorter CodeLi fe M
ic hae l .c o
m● Comparing with Java, when using Scala our code becomes
significantly shorter.
class Rectangle {
private double width;
private double height;
public Rectangle (double width, double height) {
this.width = width;
this.height = height;
}
}
class Rectangle(var width: Double, var height: Double)
Scala
Java
The Scala Story● The design of Scala started in 2001 at EPFL by Martin
Odersky, who had previously worked on developing the
first Java compilers.
● Typesafe was founded in 2011 in order to assist
companies with the development of software
applications using the Scala programming language and
its frameworks.
www.typesafe.com
Li fe M
ic hae l .c o
m
Scala in The Industry● Scala is highly popular on the server side. Many of the
companies that use Scala are either startup based with
highly talented people or very big companies with the
required budget.
Li fe M
ic hae l .c o
m
Scala ComparisonLi fe M
ic hae l .c o
m
Learning Curve
Pop
ular
ity
Java
Scala
Easy Difficult
Low
H
igh
PHP
JavaScript
C#
Scala ComparisonLi fe M
ic hae l .c o
m
Object Oriented
Fun
ctio
nal
Java
Scala
Weak Strong
Wea
k
Str
ong
PHPJavaScript
C#
Scala ComparisonLi fe M
ic hae l .c o
m
Development Process
Pla
tform
Dep
ende
ncy
Java
Scala
Easy Difficult
Low
Hig
h
PHP
JavaScript
C#
Scala ComparisonLi fe M
ic hae l .c o
m
Hosting Services
Ope
n S
our
ce C
omm
unity Java
Scala
Few Many
Sm
all
Big
PHP
JavaScript
C#
IDEs for Scala Development● You can develop in Scala using the command line. You
can alternatively use one of the available Java IDEs. You
will need to install a plugin that allows coding in Scala.
Li fe M
ic hae l .c o
m
scala-ide.org www.netbeans.org
www.jetbrains.com/idea/
The Main Documentation● You can find the complete API documentation online at
http://www.scala-lang.org/documentation/.
Li fe M
ic hae l .c o
m
Learning Resources● In order to start developing in Scala the minimum would be
installing JDK and the Scala SDK right after.
● You can find the Scala SDK available for free at
http://www.scala-lang.org/download/.
Li fe M
ic hae l .c o
m
Learning Resources● You can find an excellent free course by Martin Odersky
available for free at www.coursera.org.
Li fe M
ic hae l .c o
m
Learning Resources● You can find the following excellent books written by Martin
Odersky.
Li fe M
ic hae l .c o
m
Learning Resources● You can find the Israeli Guide to Scala available for free
personal use at http://www.scalabook.co.il.
Li fe M
ic hae l .c o
m
Learning Resources● You can find a growing number of online free courses about
various topics in the Scala at http://abelski.lifemichael.com.
Li fe M
ic hae l .c o
m
Questions & Answers● Three courses you might find interesting include
Software Engineering in PHP
more info
Android 4.4 Java Applications Development
more info
HTML5 Cross Platform Mobile Applications
more info
● If you enjoyed my lecture please leave me a comment
at http://speakerpedia.com/speakers/life-michael.
Thanks for your time!
Haim.
Li fe M
ic hae l .c o
m
Scala Jump Start
Haim MichaelMay 30th, 2014
All logos, trademarks and brand names used in this presentation, such as the logo of Scalaor any of its frameworks, belong to their respective owners. Haim Michael and LifeMichael are independent and not related, affiliated or connected neither with Scala, EPFL, TypeSafe or any of the companies and the technologies mentioned in this presentation.
You can find the video clip at http://youtu.be/XBMbRZs7uFE.
LifeMic hael.c o
m
Table of ContentLifeMic hael.c o
m● What is Scala?● Shorter Code● The Scala Story● Scala in The Industry● Scala Comparison● IDEs for Scala● The Main Documentation● Learning Resources● Questions & Answers
What is Scala?● Scala is a blend of object oriented programming and a
functional one. This mixture is the source of its strength.
● Scala is compatible with Java. The two languages are
interoperable with each other. We can integrate the code
we write in Scala with our code in Java and vice verso.
● Scala is kind of an improvement to Java. Not only that
Scala re-uses Java's types it also “dresses them up”.
scala-lang.org
LifeMic hael.c o
m
Shorter CodeLifeMic hael.c o
m● Comparing with Java, when using Scala our code becomes
significantly shorter.
class Rectangle {
private double width;
private double height;
public Rectangle (double width, double height) {
this.width = width;
this.height = height;
}
}
class Rectangle(var width: Double, var height: Double)
Scala
Java
The Scala Story● The design of Scala started in 2001 at EPFL by Martin
Odersky, who had previously worked on developing the
first Java compilers.
● Typesafe was founded in 2011 in order to assist
companies with the development of software
applications using the Scala programming language and
its frameworks.
www.typesafe.com
LifeMic hael.c o
m
Scala in The Industry● Scala is highly popular on the server side. Many of the
companies that use Scala are either startup based with
highly talented people or very big companies with the
required budget.
LifeMic hael.c o
m
Scala ComparisonLifeMic hael.c o
m
Learning Curve
Pop
ular
ity
Java
Scala
Easy Difficult
Low
Hig
hPHP
JavaScript
C#
Scala ComparisonLifeMic hael.c o
m
Object Oriented
Fun
ctio
nal
Java
Scala
Weak Strong
Wea
k
Str
ong
PHPJavaScript
C#
Scala ComparisonLifeMic hael.c o
m
Development Process
Pla
tform
Dep
ende
ncy
Java
Scala
Easy Difficult
Low
H
igh
PHP
JavaScript
C#
Scala ComparisonLifeMic hael.c o
m
Hosting Services
Ope
n S
ourc
e C
omm
unity Java
Scala
Few Many
Sm
all
Big
PHP
JavaScript
C#
IDEs for Scala Development● You can develop in Scala using the command line. You
can alternatively use one of the available Java IDEs. You
will need to install a plugin that allows coding in Scala.
LifeMic hael.c o
m
scala-ide.org www.netbeans.org
www.jetbrains.com/idea/
The Main Documentation● You can find the complete API documentation online at
http://www.scala-lang.org/documentation/.
LifeMic hael.c o
m
Learning Resources● In order to start developing in Scala the minimum would be
installing JDK and the Scala SDK right after.
● You can find the Scala SDK available for free at
http://www.scala-lang.org/download/.
LifeMic hael.c o
m
Learning Resources● You can find an excellent free course by Martin Odersky
available for free at www.coursera.org.
LifeMic hael.c o
m
Learning Resources● You can find the following excellent books written by Martin
Odersky.
LifeMic hael.c o
m
Learning Resources● You can find the Israeli Guide to Scala available for free
personal use at http://www.scalabook.co.il.
LifeMic hael.c o
m
Learning Resources● You can find a growing number of online free courses about
various topics in the Scala at http://abelski.lifemichael.com.
LifeMic hael.c o
m
Questions & Answers● Three courses you might find interesting include
Software Engineering in PHP
more info
Android 4.4 Java Applications Development
more info
HTML5 Cross Platform Mobile Applications
more info
● If you enjoyed my lecture please leave me a comment
at http://speakerpedia.com/speakers/life-michael.
Thanks for your time!
Haim.
LifeMic hael.c o
m