scala introduction - meetup scaladores rj

32
SCALA INTRODUCTION MEETUP SCALA - RJ

Upload: rodrigo-lima

Post on 13-Jan-2017

48 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Scala Introduction - Meetup Scaladores RJ

SCALA INTRODUCTIONMEETUP SCALA - RJ

Page 2: Scala Introduction - Meetup Scaladores RJ

About me

RODRIGO LIMASoftware Engineer @Stone

Page 3: Scala Introduction - Meetup Scaladores RJ

Index

What is Scala?Who are using Scala?How to use? Some features of language.Why use?

Page 4: Scala Introduction - Meetup Scaladores RJ

What is Scala?

Scala was created by Martin Odersky.

Page 5: Scala Introduction - Meetup Scaladores RJ

What is Scala?

In 2001 Martin Odersky began to develop a language on the JVM.

Martin has created a language called Pizza, worked on the Java compiler and Java generics 5.

Page 6: Scala Introduction - Meetup Scaladores RJ

What is Scala?

Early 2004 Scala was released on the Java platform.

In June 2004 on the .NET Framework.

The .NET support was officially dropped in 2012.

Page 7: Scala Introduction - Meetup Scaladores RJ

What is Scala?

May 2011, Odersky launched Typesafe Inc.

Currently named Lightbend Inc.

Page 8: Scala Introduction - Meetup Scaladores RJ

“ Scala is an acronym for Scalable Language ”

Is so named because it was designed to grow with the demands of its users.

Page 9: Scala Introduction - Meetup Scaladores RJ
Page 10: Scala Introduction - Meetup Scaladores RJ

What is Scala?

Programming

Imperative

Declarative

Procedural

Object Oriented

Logic

Functional

FORTRAN, C

C#, Java

Prolog

Haskell, Erlang

Page 11: Scala Introduction - Meetup Scaladores RJ

What is Scala?

Other functional languages

Page 12: Scala Introduction - Meetup Scaladores RJ

We’ve found that Scala has enabled us to deliver things

faster with less code.

Graham Tackley from TheGuardian.

Page 13: Scala Introduction - Meetup Scaladores RJ
Page 14: Scala Introduction - Meetup Scaladores RJ

What is Scala?

But, anyone can use Scala?

You have to have affinity!

Page 15: Scala Introduction - Meetup Scaladores RJ

What is Scala?

You can create methods with symbols

Page 16: Scala Introduction - Meetup Scaladores RJ
Page 17: Scala Introduction - Meetup Scaladores RJ

What is Scala?

Scala compiles to Byte Code in the JVM;

I can write a .class being java or scala code;

I can use Java libs in Scala;

With this, we have Interoperability with Java;

Have two paradigms, Object Oriented and Functional Programming.

Page 18: Scala Introduction - Meetup Scaladores RJ

If I were to pick a language to

use today other than Java, it

would be Scala.

James Gosling, the creator of the Java programming language

Page 19: Scala Introduction - Meetup Scaladores RJ

Who are using Scala?

Page 20: Scala Introduction - Meetup Scaladores RJ

Who are using Scala?

Play Framework to build web applications with Java & Scala.

For building concurrent, distributed, and resilient applications on the JVM.

Apache Spark is a fast and general engine for big data processing.

Page 21: Scala Introduction - Meetup Scaladores RJ

How to use?

REPL (Read-Evaluate-Print-Loop);

Page 22: Scala Introduction - Meetup Scaladores RJ

How to use?

IDE's

- Eclipse (Scala IDE)

- NetBeans - plugin

- IntelliJ IDEA - plugin

Page 23: Scala Introduction - Meetup Scaladores RJ

Some features of language.

It is strongly typed (static) and type inference by the compiler;

Page 24: Scala Introduction - Meetup Scaladores RJ

Some features of language.

Scala.js

Scala code Scala.js Compiler JavaScript

Page 25: Scala Introduction - Meetup Scaladores RJ

Why use Scala?

Page 26: Scala Introduction - Meetup Scaladores RJ

Why use Scala? Java x Scala

Page 27: Scala Introduction - Meetup Scaladores RJ

What use Scala?

Scala used for create software that makes use of :

- Concurrent processing; - Parallel utilization of multiple cores;- Distributed processing.

Page 28: Scala Introduction - Meetup Scaladores RJ

Unlike with many traditional

functional languages,

Scala allowed us a gradual, easy

migration to a more functional

style.Rodrigo Lima, passionate about Scala.

Page 29: Scala Introduction - Meetup Scaladores RJ

So, Why not?

Page 30: Scala Introduction - Meetup Scaladores RJ

Learn more about Scala

http://scaladores.herokuapp.com

Page 31: Scala Introduction - Meetup Scaladores RJ

QUESTIONS?

Page 32: Scala Introduction - Meetup Scaladores RJ

Contacts

E-mail: [email protected]

LinkedIn: https://br.linkedin.com/in/rodrigolimasss

GitHub: https://github.com/RodrigoLimasss

Twitter: https://twitter.com/rodrigolimasss

Blog: http://rdlima.com