Date post: | 11-May-2015 |
Category: |
Education |
Upload: | dianne-marsh |
View: | 602 times |
Download: | 2 times |
Sneaking Scala through
the Back Door
Dianne MarshCodeMash 2014
Try the Front Door
Know the “Why”
DO
Be specific: team, application, biggest concerns
DO
Present from audience’s point of
view
DO
Use buzzwords
DON’T
Emphasize high value points
DO
Represent success stories
DO
Typesafe Customers
Edda
Records AWS History
Open SourceScala
Freedom & Responsibility
Killer Apps
•Play for web (Scala and Java)
•Akka for concurrency
•Object-oriented + mathematical modeling = good fit for Scala
Domains•Business Intelligence
•Social apps
•Border security
•eCommerce
•Anti-spam
•Advertising
Companies say ...•Rapid development and
productivity
•Asynchronous stateless scalabilty
•Massive configurability for peak load
•Reduces time to market
•DSL reduces load on devs
Anticipate objections
DO
About Hiring …•“Easy to find very good Java
engineers and excite them with new technologies”
•“Look for smart, energetic engineers eager to learn”
•“No prior knowledge of Java, productive 2-3 weeks into project”
•“Quickly productive with Scala”
•“Reduces time to market”
Use Scala for new development
DO
Leverage existing Java code
DO
Convert all legacy code immediately*
*(maybe never)
DON’T
Use Scala as a Better Java
DO
Use Scala for non-production code
DO
Refer to code written before 2.9
DON’T
Make your code too terse
DON’T
val nums = 3 until 1000
val somenums = nums filter (x => (x % 3 == 0 || x % 5 ==0))
(0/:somenums)(_+_)
DON’T
“When your Scala looks like unhappy emoticons, you’ve
gone too far.” -- Jason Swartz, Netflix
Discuss developer productivity
DO
Draw from team’s experience
DO
Use Scala to attract candidates
DO
Try ScalaTest
DO
Stress about functional perfection
DON’T
Try Typesafe Activator
DO
Start with Scalaz
DON’T
Learn about parallel collections
DO
Leverage TypeSafe’s support
DO
Be a language zealot
DON’T
Know when to fold
DO
Ease into functional with
Guava
MAYBE
Get feedback from others
DO
Additional References
• Making a persuasive argument: http://sixminutes.dlugan.com/logos-examples-speaking/
• Atomic Scala at http://atomicscala.com
• Learn Scala with the Koans at http://scalakoans.org
• Integrate testing with Scalatest: http://www.scalatest.org/
• Case studies: http://typesafe.com/company/casestudies
• Futures and promises in 2.10: https://speakerdeck.com/heathermiller/futures-and-promises-in-scala-2-dot-10