views:

797

answers:

6
+3  Q: 

Enterprise Scala

Are you using Scala to develop your enterprise grade applications?

EDIT: agree, the word enterprise is not well defined. By asking this question I meant to ask whether you use Scala for real projects which are meant to be used not just for playing. Using Scala for a personal project which is meant to be used by more than just it's creator falls into the "real projects" category.

+5  A: 

The word 'enterprise' as used within the question is a clear lack of requirements. One person's 'enterprise' app, isn't another's. Scala/Lift are being used by SAP, is that 'enterprise' enough?

At the end of a day, you have access to all the 'enterprise' stuffs that the Java platform has to offer.

Sorry, to come off as bit of a jerk, but these sort of questions are pretty poor, and have no definite answer. More to the point someone could have written a number of apps that you might deem 'enterprise' but they do not, and hence never state them as such.

EDIT

Also, twitter loves Scala: http://www.slideshare.net/al3x/twitter-3s-scala And an interview covering their experiences: http://www.artima.com/scalazine/articles/twitter_on_scala.html

Saem
I don't think that these questions are "poor" at all. Looking at Scala examples a tutorials, there's a lot of emphasis on how to do things like eg write the Quicksort algorithm in a clever way. When I write an "enterprise" app (for the want of a better word), I don't care about this kind of thing
oxbow_lakes
...This emphasis on "academic" as opposed to "enterprise" examples made me think "Is it worth investigating Scala further, or is it just a lot of academic types getting excited about how terribly clever they all are". The answer "real systems are being built in Scala" is a VERY important one, IMHO
oxbow_lakes
No, reread what I wrote, you're bandying about the terms academic and enterprise, and all it is is hand waving, but requirements are what count. Enterprise/Academic are silly moving goal posts, which invalidate any debate or possible answer.
Saem
+3  A: 

It may be an answer to your question (or not) but I just learned that Twitter is using Scala for all the backend processing (RoR stays on the interface).

Keltia
I hear that as well, but it might be nice to add a source here (especially if you just learned it).
Joachim Sauer
Saem has been faster than me :)
Keltia
+1  A: 

Here is a nice slide set from the Bay Area Scala Enthusiasts meeting at Twitter that outlines their style guidelines for the language. It's well established by now that Twitter is developing some significant back-end services in Scala.

Mojo
+1  A: 

Scala for real projects? Yes, absolutely.

First, because all of Java is still available, the application can use our existing common libraries. These libs have been built in Java over the past 10 years, and they're important for access to other systems within the company.

Second, the most crucial thing about enterprise applications is adaptability. Getting too rigid is what makes most enterprise apps decay and eventually die. There are two problems that lead to this rigidity, and Scala helps avoid both of them. One problem is just the sheer volume of code. Java works better than C or C++, but it still requires many more lines of code to implement an application than Scala does.

With Java, combating the code size problem requires higher degrees of structure: frameworks, libraries, customizable factories, etc. That's why we deploy JEE apps (typically Spring-based) that have twenty to fifty JAR files in their "lib" directories. That structure itself is necessary to get the app finished, but it can create its own problem in terms of conceptual complexity.

Scala isn't immune from an overload of conceptual complexity, but the common programming style in Scala tends toward smaller, more concrete programs rather than libraries for frameworks for building DSLs.

Of course, if you actually do need libraries for frameworks for building DSLs, well, that's where being able to call back into Java comes in handy.

mtnygard
A: 

LinkedIn is using Some Scala

Eishay Smith
A: 

Sony Imageworks is using Scala for several of their middle-tier applications and has open-sourced their database migrations package which is written in Scala.

Blair Zajac