Sneaking Scala through the Back Door

35
Sneaking Scala through the Back Door Dianne Marsh OSCON 2013

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.

Transcript of Sneaking Scala through the Back Door

Page 1: Sneaking Scala through the Back Door

Sneaking Scala through

the Back Door

Dianne MarshOSCON 2013

Page 2: Sneaking Scala through the Back Door

Try the Front Door

Page 3: Sneaking Scala through the Back Door
Page 4: Sneaking Scala through the Back Door

Know the “Why”

DO

Page 5: Sneaking Scala through the Back Door

Present from audience’s point of

view

DO

Page 6: Sneaking Scala through the Back Door

Use buzzwords

DON’T

Page 7: Sneaking Scala through the Back Door

Emphasize high value points

DO

Page 8: Sneaking Scala through the Back Door

Represent success stories

DO

Page 9: Sneaking Scala through the Back Door

Typesafe Customers

Page 10: Sneaking Scala through the Back Door

Edda

Records AWS History

Open SourceScala

Freedom & Responsibility

Page 11: Sneaking Scala through the Back Door

Killer Apps

•Play for web (Scala and Java)

•Akka for concurrency

•Object-oriented + mathematical modeling = good fit for Scala

Page 12: Sneaking Scala through the Back Door

Domains

•Business Intelligence

•Social apps

•Border security

•eCommerce

•Anti-spam

•Advertising

Page 13: Sneaking Scala through the Back Door

Companies say ...

•Rapid development and productivity

•Asynchronous stateless scalabilty

•Massive configurability for peak load

•Reduces time to market

•DSL reduces load on devs

Page 14: Sneaking Scala through the Back Door

Anticipate objections

DO

Page 15: Sneaking Scala through the Back Door

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

Page 16: Sneaking Scala through the Back Door

Use Scala for new development

DO

Page 17: Sneaking Scala through the Back Door

Leverage existing Java code

DO

Page 18: Sneaking Scala through the Back Door

Convert all legacy code immediately*

*(maybe never)

DON’T

Page 19: Sneaking Scala through the Back Door

Use Scala as a Better Java

DO

Page 20: Sneaking Scala through the Back Door

Use Scala for non-production code

DO

Page 21: Sneaking Scala through the Back Door

Refer to code written before 2.9

DON’T

Page 22: Sneaking Scala through the Back Door

Make Scala perl-like

DON’T

Page 23: Sneaking Scala through the Back Door

Discuss developer productivity

DO

Page 24: Sneaking Scala through the Back Door

Draw from team’s experience

DO

Page 25: Sneaking Scala through the Back Door

Use Scala to attract candidates

DO

Page 26: Sneaking Scala through the Back Door

Try ScalaTest

DO

Page 27: Sneaking Scala through the Back Door

Stress about functional perfection

DON’T

Page 28: Sneaking Scala through the Back Door

Try Play web framework

DO

Page 29: Sneaking Scala through the Back Door

Try Scalaz

DON’T

Page 30: Sneaking Scala through the Back Door

Learn about parallel collections

DO

Page 31: Sneaking Scala through the Back Door

Leverage TypeSafe’s support

DO

Page 32: Sneaking Scala through the Back Door

Be a language zealot

DON’T

Page 33: Sneaking Scala through the Back Door

Get feedback from others

DO

Page 34: Sneaking Scala through the Back Door

Contact Info

•twitter: @dmarsh

•Google+: [email protected]

•email: [email protected]

Page 35: Sneaking Scala through the Back Door

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