Scala FS 2012

  • 2,397 views
Uploaded on

Scala FS 2012 …

Scala FS 2012
First Scala presentation at Functional Society

More in: Technology , Spiritual
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,397
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. @diego_pachecoSoftware Architect | Agile Coachabout.me/diegopacheco 1
  • 2. Why Scala? Functional Programming (map, filter, foldLeft, foldRight, flatMap, etc..) Functions as First Class Citizen 2001 - EPFL Lambda/Closure Higher Order Functions, Currying and monads Parallel Collections (for multi-core processors) Evolutionary OO (case class, object, trait, pattern matcher, with*) You can use same jars/frameworks (Spring, Hibernate, Junit, etc..) Solid Documentation, Books, websites, blogs, community, twitter, etc… Static Typing BUT Scala has Duck Typing Runs on the JVM Java 1.3 - 2000 Awesome interoperability with Java NEW Javac 1/3 Same java tooling – Eclipse – Scala IDE (Not Perfect ) smaller Less noise, do more with less code than Java (LOC x2) Generics, Right? 2 Martin Odersky
  • 3. 3
  • 4. Scala Code: @Bean Propertyhttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/basic/bean2short.scala 4
  • 5. Scala Code: case classeshttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/caseclass/CaseClass.scala 5
  • 6. https://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/basic/loop/MoreAdvancedFunWithForExpression.scala 6
  • 7. Scala Code: Operator Overloadhttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/basic/oo/MathOverload.scala 7
  • 8. Scala Code: Functional Programminghttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/basic/reduce.scala 8
  • 9. Scala Code: Traits & Mixingshttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/basic/oo/traits/SelectiveTraits.scala 9
  • 10. Scala Code: Lambda/Closurehttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/clojure/AnonymousFunction.scala 10
  • 11. Scala Code: Curryinghttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/currying/CurryingFunctions.scala 11
  • 12. Scala Code: Curryinghttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/currying/CurryingFunctions.scala 12
  • 13. Scala Code: Specs2https://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala-playground/src/com/github/diegopacheco/sandbox/scripts/scala/specs2/Specs2.scala 13
  • 14. Scala Code: Pattern Matcherhttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala- 14playground/src/com/github/diegopacheco/sandbox/scripts/scala/pattern/matching/PatternMatching.scala
  • 15. Scala Code: DSLhttps://github.com/diegopacheco/Diego-Pacheco-Sandbox/blob/master/scripts/scala/scala- 15playground/src/com/github/diegopacheco/sandbox/scripts/scala/typesystem/implicits/ImplicitsConversions.scala
  • 16. Resources http://www.scala-lang.org/ http://twitter.github.com/scala_school/ http://scalatypes.com/ http://akka.io/ http://typesafe.com/ https://github.com/diegopacheco/Diego-Pacheco- Sandbox/tree/master/scripts/scala 16
  • 17. More… https://github.com/diegopacheco/functional-society http://www.twitter.com/funcsociety 17
  • 18. Thanks!Obrigado!@diego_pachecoSoftware Architect | Agile Coachabout.me/diegopacheco 18