

Scala at Yammer (2011) - ziodave
http://eng.yammer.com/scala-at-yammer/

======
beck5
You can read the leaked email in this gist
[https://gist.github.com/anonymous/1406238](https://gist.github.com/anonymous/1406238)

I don't know how many of these problems have been solved in the last couple of
years.

~~~
saryant
(Full disclosure: we're currently working with Typesafe to write up a case
study of our experiences with Scala/Akka/Play)

SBT has improved quite a bit since the 0.7/0.10 days. Still a bit of a mess.
That said, we have an SBT project with multiple subprojects, multi-JVM testing
and lots of other stuff and we don't feel that our Build.scala has gotten out
of hand. That said, many others feel differently.

IMO, the collections libraries have also improved. The problem of the
collections library details bubbling through the API has been largely fixed
though others may disagree. Can't attest to performance as I haven't profiled
the Scala collections.

Most of the Scala we write is within the context of Akka where idiomatic
patterns are well established. Plus, the community is quite strong with most
(all?) of the Akka devs active on the mailing list.

There are still some poorly designed libraries popular within the Scala world.
The Dispatch library is a good example of this. OTOH, there are great
alternatives. Play's HTTP client library is very straightforward, for example,
an HTTP GET: WS.url(myURL).get(). None Dispatch's periodic table gobbledygook.

We're quite happy with Scala. An example: originally, our backend was going to
be in Java but I convinced one of our founders to give Scala a shot. In one
sitting, his first time writing Scala, he wrote the first pass of our
analytics service and it was _correct_ the first time it compiled.

~~~
bootily
The notion that a compiler makes your code more correct is absurd. Also your
emphasis on "correct" makes me wonder what your trying to say...all compiled
programs are correct whether they work or not.

~~~
saryant
Okay, I didn't use "correct" in its CS theory definition. My point is it
worked, correctly. As in satisfied our requirements.

------
klochner
From the original leaked email, great observation on the need to dig into
library code:

    
    
        . . . engineers need to have an accurate mental model
        of how these libraries work or they shift into 
        cargo-culting snippets of code as magic talismans of
        functionality.

------
melling
From 2011.

~~~
gaius
Surprised Yammer still exists.

~~~
mattdeboard
Why's that? Enterprises want internal social media to promote communications
(or at least the appearance of communication) but they don't want to pay for
infrastructure (or spend the time) to support it. Enter Yammer.

There's a whole galaxy of apps out there that to consumers seem redundant, but
cater to enterprises. Dropbox, Facebook, Twitter, etc., etc., etc. all have
competitors that are targeting the enterprise market they have either ignored,
abandoned or burned.

~~~
napoleond
It's interesting, though. I've watched conference talks from about 5 years ago
where Yammer is commonly referred to as a medium for internal communications
by SMB types (Business of Software, I think? Sorry, can't find a link at the
moment.) Those same recommendations now go to Hipchat. Is their marketing the
only difference? (ie. was Yammer once more palatable to small businesses for
their marketing, and have they now changed that, with Hipchat filling the
void? Or is it more than that?)

I don't know the space well at all, these are just observations from a
distance.

