際際滷

際際滷Share a Scribd company logo
From Switzerland with love :)
Rosario Renga
Software Engineer
Historical notes
 The design of Scala started in 2001 at the cole Polytechnique F辿d辿rale de Lausanne by
 Scala was released publicly in early 2004 on the Java platform. A second version (v2.0) followed in
March 2006
Martin Odersky
Main reasons behind scala
Challenge: Achieve software side scalability avoiding concurrency and parallelism
problems
Main reasons behind scala
Challenge: Achieve software side scalability avoiding concurrency and parallelism
problems
 Parallel programming: Execute programs faster on a parallel hardware
 Problem: Mutable state  Non deterministic execution
 Concurrent programming: Manage concurrent execution explicitly
 Problem: Mutable state must be managed explicitly
Main reasons behind scala
Challenge: Achieve software side scalability avoiding concurrency and parallelism
problems
 Parallel programming: Execute programs faster on a parallel hardware
 Problem: Mutable state  Non deterministic execution
 Concurrent programming: Manage concurrent execution explicitly
 Problem: Mutable state must be managed explicitly
Solution:
 Immutability
 Functional programming
Explained by Odersky here
DevDay Napoli - Scala - Dalla Svizzera con furore
My Experience
My experience - The beginning
 Software Developer
 Object Oriented
 Almost zero functional programming experience
 Java and .NET world
My experience - The beginning
My experience - I saw the light in the tunnel
 Immutability
 Everything is a function
 Everything must return a value
 Think functional
My experience - Lets code!
https://github.com/MeMpy/scala-playground
Some other features
Scala in the real world
Scala is Reactive
Scala in the real world
Scala is Big Data
Scala is Web development
Scala in the real world
Questions?
 git
 Java development kit ( JDK 8 )
 Sbt ( probably optional )
 IntelliJ Idea Community Edition
 Nu poc e genio
What you need to run the project
References
 Official documentation
 Coursera Scala courses
 Scala blog for Neophyte
 Scala center
 Lightbend for scala
 .....stackoverflow
Thanks and happy learning

More Related Content

DevDay Napoli - Scala - Dalla Svizzera con furore

  • 1. From Switzerland with love :) Rosario Renga Software Engineer
  • 2. Historical notes The design of Scala started in 2001 at the cole Polytechnique F辿d辿rale de Lausanne by Scala was released publicly in early 2004 on the Java platform. A second version (v2.0) followed in March 2006 Martin Odersky
  • 3. Main reasons behind scala Challenge: Achieve software side scalability avoiding concurrency and parallelism problems
  • 4. Main reasons behind scala Challenge: Achieve software side scalability avoiding concurrency and parallelism problems Parallel programming: Execute programs faster on a parallel hardware Problem: Mutable state Non deterministic execution Concurrent programming: Manage concurrent execution explicitly Problem: Mutable state must be managed explicitly
  • 5. Main reasons behind scala Challenge: Achieve software side scalability avoiding concurrency and parallelism problems Parallel programming: Execute programs faster on a parallel hardware Problem: Mutable state Non deterministic execution Concurrent programming: Manage concurrent execution explicitly Problem: Mutable state must be managed explicitly Solution: Immutability Functional programming Explained by Odersky here
  • 8. My experience - The beginning Software Developer Object Oriented Almost zero functional programming experience Java and .NET world
  • 9. My experience - The beginning
  • 10. My experience - I saw the light in the tunnel Immutability Everything is a function Everything must return a value Think functional
  • 11. My experience - Lets code! https://github.com/MeMpy/scala-playground
  • 13. Scala in the real world Scala is Reactive
  • 14. Scala in the real world Scala is Big Data
  • 15. Scala is Web development Scala in the real world
  • 17. git Java development kit ( JDK 8 ) Sbt ( probably optional ) IntelliJ Idea Community Edition Nu poc e genio What you need to run the project
  • 18. References Official documentation Coursera Scala courses Scala blog for Neophyte Scala center Lightbend for scala .....stackoverflow
  • 19. Thanks and happy learning