Scala in the Enterprise

The Scala programming language is used by many companies to develop commercial software and production systems; please find below some notable examples. Your company can also benefit from using Scala, just like them!
 

Twitter

Twitter provides an extremely popular real-time messaging service, which allows friends, family, and co-workers to stay in touch.

Alex Payne, API Lead at Twitter, gave a fascinating presentation at Web 2.0 Expo San Francisco, 01 April 2009 about why Twitter uses Scala. He explains why they like the language, how they have gained performance with it and the difficulties they encountered on the way. You may like to take a look at his presentation slides or read reports on the talk by: Kate Greene from Technology Review, Nicole Ferraro from Internet Evolution, or Cade Metz from The Register.

To handle the peak rates of Tweeting, 5000 per minute during the Obama Inauguration, each tweet causing hundreds of posts to followers, Robey Pointer at Twitter has moved their main message queue from Ruby to Scala for improved performance. He explains the concepts behind the Twitter Kestrel project on his live journal and the more concise 1500 lines of Scala code can be seen as open source project here.

Bill Venners from Artima, had the opportunity to talk to three of the Twitter developers, Steve Jenson, Alex Payne and Robey Pointer. They have created and upgraded one of the fastest growing social messaging services in the world. You can learn what they think of Scala, how they use it, and understand about some of the benefits they have gained from their move.
 

Électricité de France Trading

Électricité de France (EDF) is the largest French energy company. EDF Trading (EDFT) is the subsidiary of EDF that operates on the energy market: when the energy markets were liberalized, power became a tradable commodity, and it became possible to buy and sell future capacity just like other financial instruments. More in general, EDFT operates "to source, supply, transport, store, blend, and convert physical commodities across the wholesale energy markets". Over the past few years their development team, led by Alex McGuire, has replaced a substancial part of their 300,000 lines of Java code for energy derivatives trading and pricing with Scala code. EDFT has seen a significant increase in development productivity and much improved interfaces for their users, the Power traders.

Alex McGuire says, that in this mission critical business application,  Scala plays an important part in the implementation and is impressed by Scala. Alex, a mathematician and former options trader, has over 15 years of development experience creating financial trading applications. 

EDFT considered that the Scala IDE for Eclipse was crucial to their development effort, and directly funded Miles Sabin, Chuusai Ltd, to add the features they required and to make it the production-quality IDE it is today.

 

 

Reaktor

Reaktor is a Finnish software company, employing 110 people, providing software development and software development consulting services to many of the large Finnish companies. Their software services are mostly targeted at Finnish market although the products are often deployed around the world and used by millions of people.

The cornerstones of the company are unparalleled technological expertise, the best experts in the field, high quality products and services and the drive to always succeed. Reaktor, an exciting and progressive company, was ranked the best workplace in Finland and number two in Europe in 2009. At Reaktor, people always come first.

In the last two years developers at Reaktor have become enthusiastic about Scala, started introducing the language into new development projects and now recommend the technology to their customers.

In one case, Scala was chosen as a solution for a mobile game logic DSL, in a system now deployed around the world. The top level Scala script bundled together more fundamental elements. The resulting package has been used more extensively since.

In another, Scala was used to implement a Web based home security system. Scala's xml API was particularly effective for interacting with a third party provided xml-over-http service.

According to Hannu Terävä, Chief Technology Officer, "Ultimately the client decides what technologies we use; I believe that we will see more and more Scala projects in the future."
 

 

Siemens boosts productivity with ESME

On March 4, 2009, Siemens announced the availability of Enterprise Social Messaging Experiment (ESME), an application based on the Lift WebFramework and Scala. ESME is an Open Source tool designed by Siemens IT Solutions and Services together with SAP Community specialists. The product is aimed at boosting productivity in enterprises with efficient social networks. Richard Hirsch, project manager for ESME at Siemens says "ESME helps to build communities and thus fosters efficient, company-wide communication between employees".

Darren Hague, SAP Mentor and ESME team lead briefly explains here why the team chose Lift and Scala as the basis of this application. You can learn more about the project background and the teams technical architectural decisions here. You may like to try a version of the ESME user interface here or see the Siemens desktop implementation here.

You can also read an interview where Vassil Dichev, one of the community of programmers dedicated to developing ESME, talks about his experiences with Scala.

 

Others

We have received many reports about Scala in the enterprise, in particular we heard news about Xerox and Office Depot adopting Scala as well; we are in the process of obtaining more information.

Meanwhile, please find below some of the Scala deployments we heard about; we are unable to verify all of them at this time, but we will update the list as we receive more precise information.

You can use Scala to make software development more efficient in your company, just like Twitter, Siemens, and the other companies above have done. If you have already started developing Scala software for your company, and you would like to let us know more, please just send us a quick message.

 

Introduction Learn Scala In the Enterprise Research Community Compiler

 

Copyright © 2010 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland