scala jump start

36
Scala Jump Start Haim Michael May 30 th , 2014 All logos, trademarks and brand names used in this presentation, such as the logo of Scala or 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 . L i f e M i c h a e l . c o m

Upload: haim-michael

Post on 10-May-2015

318 views

Category:

Software


0 download

DESCRIPTION

Introduction to the Scala probramming language. The lecture was delivered in Hebrew. You can watch it at http://youtu.be/XBMbRZs7uFE.

TRANSCRIPT

Page 1: Scala Jump Start

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

Page 2: Scala Jump Start

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

Page 3: Scala Jump Start

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

Page 4: Scala Jump Start

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

Page 5: Scala Jump Start

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

Page 6: Scala Jump Start

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

Page 7: Scala Jump Start

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#

Page 8: Scala Jump Start

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#

Page 9: Scala Jump Start

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#

Page 10: Scala Jump Start

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#

Page 11: Scala Jump Start

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/

Page 12: Scala Jump Start

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

Page 13: Scala Jump Start

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

Page 14: Scala Jump Start

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

Page 15: Scala Jump Start

Learning Resources● You can find the following excellent books written by Martin

Odersky.

Li fe M

ic hae l .c o

m

Page 16: Scala Jump Start

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

Page 17: Scala Jump Start

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

Page 18: Scala Jump Start

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

Page 19: Scala Jump Start

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

Page 20: Scala Jump Start

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

Page 21: Scala Jump Start

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

Page 22: Scala Jump Start

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

Page 23: Scala Jump Start

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

Page 24: Scala Jump Start

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

Page 25: Scala Jump Start

Scala ComparisonLifeMic hael.c o

m

Learning Curve

Pop

ular

ity

Java

Scala

Easy Difficult

Low

Hig

hPHP

JavaScript

C#

Page 26: Scala Jump Start

Scala ComparisonLifeMic hael.c o

m

Object Oriented

Fun

ctio

nal

Java

Scala

Weak Strong

Wea

k

Str

ong

PHPJavaScript

C#

Page 27: Scala Jump Start

Scala ComparisonLifeMic hael.c o

m

Development Process

Pla

tform

Dep

ende

ncy

Java

Scala

Easy Difficult

Low

H

igh

PHP

JavaScript

C#

Page 28: Scala Jump Start

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#

Page 29: Scala Jump Start

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/

Page 30: Scala Jump Start

The Main Documentation● You can find the complete API documentation online at

http://www.scala-lang.org/documentation/.

LifeMic hael.c o

m

Page 31: Scala Jump Start

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

Page 32: Scala Jump Start

Learning Resources● You can find an excellent free course by Martin Odersky

available for free at www.coursera.org.

LifeMic hael.c o

m

Page 33: Scala Jump Start

Learning Resources● You can find the following excellent books written by Martin

Odersky.

LifeMic hael.c o

m

Page 34: Scala Jump Start

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

Page 35: Scala Jump Start

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

Page 36: Scala Jump Start

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