Upload
dianne-marsh
View
7.006
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Is your organization committed to the power of the Java platform but stuck in the Java language? Do you spend your time wishing you could use Scala at work, but don’t see how you can get it approved? There are good reasons to push for it! Scala is a popular language with Java developers because of its expressiveness and lack of boilerplate code. It allows you to focus on the problem rather than the ceremony required by Java. Yet, businesses are often reluctant to move to Scala, citing concerns about availability of developers and risks of working in a new language. Learn strategies for bringing Scala into your organization, including using it in non-production code, integrating Scala into a Java application, and easing your fellow programmers into functional programming. See how to use Scala for new development while maintaining your investment in existing Java code. Hear stories of how other organizations have done this and succeeded. You’ll leave knowing how you can move to Scala without risking your job or the success of your projects.
Citation preview
Sneaking Scala through
the Back Door
Dianne MarshOSCON 2013
Try the Front Door
Know the “Why”
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
Companies say ...•“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
•DSL improves reduces load on devs
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 Scala perl-like
DON’T
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 Play web framework
DO
Try Scalaz
DON’T
Learn about parallel collections
DO
Leverage TypeSafe’s support
DO
Be a language zealot
DON’T
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