Your SlideShare is downloading. ×
Scala FS 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Scala FS 2012

2,430
views

Published on

Scala FS 2012 …

Scala FS 2012
First Scala presentation at Functional Society

Published in: Technology, Spiritual

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,430
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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