Sunday, June 7, 2009

Heard on the Street: SCALA

If you tweet or link in, you may be benefiting from SCALA already without knowing it. My friend Jim went to a tech talk at LinkedIn called Going from SCALA to scale. Jim reports that Twitter engineers studied different computer languages and started deploying back-end server software developed using SCALA. Since I'd never heard of SCALA before, I was all ears.

What is SCALA and why is Twitter using it? From the SCALA website:
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.
Jim said that coders are twice as productive with SCALA as JAVA. Compared to Ruby on Rails, SCALA code yields higher performance executables. He also said the main syntactical advantages of SCALA are:
  • SCALA is a functional language — every function is a value so it's easier to write code a la BASIC or FORTRAN
  • Automatic closure — coders can drop program code into automatic type-dependent closures
  • JAVA compatibility — SCALA can leverage existing JAVA code and libraries
  • Static typing — because of the way SCALA handles typing, coders don't have to recompile every time an object is changed
Martin Odersky, SCALA's creator, said that SCALA was built on JAVA because SCALA developers didn't want to write another garbage collector. As a by-product, since SCALA runs on the JVM, performance of SCALA code improves with as the JVM improves.

And, of course, it's open-source, so you can try it gratis. Just say Steve sent you.

No comments:

Post a Comment