Twitter maintains millions of lines of Scala code in hundreds of projects, dozens of which are open source. While Scala is a powerful language that combines the type-safety and performance of languages like Java with the concision and clarity of dynamic languages like Ruby or Python, it’s also a remarkably flexible language, and this flexibility poses a particular set of challenges for a codebase at Twitter’s scale.
This talk will focus on how Twitter has negotiated Scala’s hybrid nature, using ideas and idioms from the functional programming side, while also ensuring that engineers coming from object-oriented backgrounds can be productive at every level of the codebase. It will look at how Twitter maintains a reasonably consistent Scala style and culture across teams through documentation, code review, and tooling, as well as how Twitter’s use of Scala has changed over time, both stylistically and semantically.
The talk will also address Twitter’s policies around the adoption of third-party open source Scala and Java libraries and testing frameworks, our evolving use of different build tools for the Java Virtual Machine, and our experiences with upgrading through several major versions of the Scala language.
Travis Brown is a Scala developer and open source advocate at Twitter.
©2015, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org