Twitter is increasingly relying on services written in either Java or Scala and running on the JVM. While JVM gives us a world-class runtime in terms of operational stability, performance, and manageability, it is still not trivial to achieve the desired performance characteristics of the programs being run on it, especially when you're dealing with services that need lots of memory, or have very low latency requirements, or both. In this talk, we'll present examples of performance problems we encountered while operating JVM-based services and the ways we solved them.
by Peter Maas
As an early adopter of Scala, I quickly noticed its vast potential and decided I want to use it on my next project. It took over two years of workshops, presentations, code examples and perseverance to actually get developers to accept it as a useful tool in their toolbox.
During this presentation I would like to share my learnings. Not in the form of lengthy philosophical discussions about learning curves, productivity or adoption rates but by running through a collection of the various code fragments I used in my quest to interest people in learning a new language. Do built-in parser combinators help? Do Java developers miss tail recursion? How many DSLs do you implement per year? Everybody is tired of annotation-riddled Java… right? Does "just start by writing tests in Scala" work? Is interoperability with Java frameworks straightforward?
The intention of all this is to help other people in their mission to keep innovating on a team or organizational level… and to share some of his love for the Scala language.
Keywords: Scala, Java, Innovation, Change, Tools
Target Audience: Developers, Architects and IT Managers