Scala’s creator Martin Odersky doesn’t believe it. He’s said the release will bring the Scala and Java communities closer together. And Typesafe, the company Odersky created to support and promote Scala, is touting it as good news for all.
“Typesafe is excited to see Java 8 make it to market and the interest it’s receiving from developers for a number of features that come directly from Scala’s feature set,” Typesafe CEO Mark Brewer told Dice. “Java 8’s support of lambda expressions is Java’s first big move toward functional programming. For not only Scala, but also other functional programming languages — like Erlang, Haskell, and functional libraries like Google Guava — that’s a huge opportunity, not a threat.”
Odersky told ReadWriteWeb he sees Java 8’s capabilities bringing more interest to functional programming and tools supporting the whole Reactive movement, in which applications adjust to deal with the load placed on them. That’s been Scala’s strength.
Building for Scale
In terms of popularity, Scala can’t come close to rivaling Java. Paul Jansen, TIOBE Software managing director, says that 10 years after its release, Scala is still considered a second-tier language: It ranked No. 42 in his company’s latest Programming Community Index. Nevertheless, some clients are using it to build industrial applications, he says.
While the TIOBE index is based on the number of skilled engineers worldwide, courses and third-party vendors, the RedMonk Programming Language Rankings are based on a language’s popularity on GitHub and Stack Overflow. RedMonk, an industry analyst firm, ranks Scala as No. 13.
However, Scala made the top 10 list for software skills in Boston last fall, according to an analysis by Ben Hicks, a partner in the Software Technology Search division of recruitment firm WinterWyman. Hicks is seeing no sign that Scala’s popularity is waning as companies use it when they need massive scale and for projects in analytics/Big Data.
“I’m seeing it with startups and small companies – those with a clean slate,” says Hicks. “I’m not seeing it with companies that have been around for decades and have an installed base of other code. It’s with companies building a brand-new product, it’s a clean slate and they can use anything they want.”
Twitter, Netflix, Comcast, Gilt Groupe and Walmart are among the companies using Scala, according to Typeface’s Brewer. “Scala is entrenched at many of the companies with the highest site traffic and peak usage, that have the most rigorous scale and performance requirements,” he says.
In addition, he notes, Scala is used across industries, not just in financial services and the Internet. The Reactive movement is being adopted across sectors, including what would historically be considered laggard areas such as retail, manufacturing and media.
Enterprise developers face challenges surrounding trends including Big Data, mobile development and massive scale. Companies that choose Scala see it as a more modern way to address these issues. Brewer cites these examples:
- The Guardian news organization made Scala the foundation of its digital-first transformation. Scala was used to re-architect the company’s monolithic online system into a suite of micro apps for more rapid innovation, resilience and scalability.
- Scala provided shopping site Gilt with the elasticity to handle a two-orders-of-magnitude increase in traffic over the course of a few seconds.
- It’s a core component of industrial Internet software platforms for running large-scale analytics and connecting machines, data and people.
Reacting to Demand
Scala developers are very much in demand, Brewer says. “We’re hearing about startups choosing Scala specifically because that’s where the best developers are now,” he tells us. “We’ve also heard that Scala developers are consistently fetching $110K+ salaries, because they are in such high demand.”
Another indication of demand: Finding programmers with Scala experience has been “nearly impossible,” Hicks says. “With the exception of one candidate we’ve placed with Scala experience, most of the people we’ve placed in those environments have experience with Java or other technologies.” To get around that, companies are hiring people who have shown that they can rapidly learn new technologies, betting they’ll pick up Scala quickly.
“For whatever reason, the people we’re finding who have Scala experience have been academics,” Hicks says. “Functional programming is something that’s being used in academic environments — things like Haskell or Erlang or other functional programming languages. The people we’ve found with this experience have been Ph.D. students fairly late in their dissertation process.”