top | item 3297750

Scala At Yammer (Official position on Scala)

134 points| swah | 14 years ago |eng.yammer.com | reply

62 comments

order
[+] sreque|14 years ago|reply
I wonder if Stephen Colebourne or Alex Blewitt will write a news story or blog post about this response. They've certainly not hesitated to spew out the following garbage, all in the past week:

http://blog.joda.org/2011/11/scala-feels-like-ejb-2-and-othe...

http://blog.joda.org/2011/11/scala-ejb-2-feedback.html

http://blog.joda.org/search/label/scala

http://www.infoq.com/news/2011/11/scala-ejb2

http://www.infoq.com/news/2011/11/yammer-scala

In his first article, Alex even had the gall to reference himself twice without mentioning the fact, all while still writing in a voice that pretended to unbiased reporting. That seems very unprofessional to me!

http://alblue.bandlem.com/2009/08/modularity-for-scala.html

http://alblue.bandlem.com/2009/10/scala-is-still-not-enterpr...

No, actually, I don't wonder at all. When I read the Harry Potter series, its portrayal of media as corrupt and sensationalist irked me as unrealistic hyperbole. No one could be that biased in their reporting, could they? Yet the conduct of these two lately conjures up in my head an image of Rita Skeeter sneaking about, spreading rumors and twisting truths into half-lies. At least they've made their irrational anti-Scala bias clearly manifest, so the rest of us can ignore them now.

[+] verroq|14 years ago|reply
Your posts reeks of fanboyism, instead of addressing their points, you ignore them by claiming the posts are garbage.
[+] wolf550e|14 years ago|reply
When a "journalist" says "there is a rumor that X", is it even false? After all, once a journalist said it, the rumor exists. Bad PR is easy to generate and if media consumers are stupid and lazy enough, they'll buy it.

The Potterverse is a tale of what happens when there are no adults in the world at all - when all people behave like twelve year olds all the time. Annihilation of all life on Earth is prevented by authorial fiat.

[+] soc88|14 years ago|reply
Thank you, great overview.
[+] tptacek|14 years ago|reply
Apropos nothing else: Coda Hale is pretty great writer. Most of this content was fairly predictable given the last two Yammer/Scala stories; even so, this held my attention start to finish. INTERCAL. Heh.
[+] lemming|14 years ago|reply
Absolutely. His blog is sparse but excellent, which seems to be one of the main characteristics of excellent blogs.
[+] groovy2shoes|14 years ago|reply
I agree completely. All content aside, he's captivating -- absolutely gripping. I can't wait for the sequel!
[+] socratic|14 years ago|reply
Have these two follow-up posts changed anyone's mind about the first?

Yammer's productivity gains from Scala were apparently not greater than the losses due to poor tooling and the impedance mismatch between Java/JVM and Scala. Therefore, the engineers all thought it was better to just go back to Java.

That seems like a useful data point, but certainly others' experiences might vary. Have these other posts added any extra information?

[+] brown9-2|14 years ago|reply
I don't think they were intended to really change anyone's perspectives, but rather just clarify a private conversation accidentally made public.

If anything, I just find it really odd that a company feels the need to have an official statement on what programming language they use/will use/might use.

[+] karterk|14 years ago|reply
TL;DR: Yammer uses a number of languages and every one of them have their strengths and shortcomings. They are getting back to work, and not argue about tools. No "official" word on whether they are actually moving away from Scala.
[+] DanielRibeiro|14 years ago|reply
Actually the line we were moving some components from Scala to Java suggests that they are not completely moving away from Scala. Which is pretty reasonable.
[+] johnx123-up|14 years ago|reply
TL;DR: The article has no information about their position.
[+] verroq|14 years ago|reply
Personally, Scala's multiple ways of solving the same problem is a major concern to me, it's language with bipolar disorder.

For example. Iterating through a container.

1. list.foreach(anonmyous function) 2. for (i <= list) 3. while loop.

Throw in both scala.collections.immutable/mutable, and java.util collections.

Scala wants you to use functional programming styles to solve problems. Thus do everything list.foreach() way. But it's backed on top of jvm which isn't the most functional programming friendly virtual machine. All the functional programming end up being syntaxical sugar and a burden if you want any performance at all. So for performance you are forced to write things the java way, which terrible because the language is designed to lean towards solving problems functionally, so you shoot yourself in the foot either way.

[+] zohebv|14 years ago|reply
This is a familiar pattern in any language, not just scala. If you doubt me just check out the source code for memcpy.c. Witness the loop unrolling, the byte fiddling the register level manipulations and the several hundreds, if not thousands, of lines of code required to implement the function. Wouldn't a simple for loop be enough?

High performance code anywhere will force you to drop down to the lowest level possible and work from there. The rationale of functional programming is that you can work largely at a high level and drop down to low level techniques in the 1-10% of the code that really matter for performance. One measure of the success of Scala is that it is being benchmarked against Java unlike Python/Ruby/Groovy etc. It is a reasonably high level language, yet the benchmark comparisons are always against Java. If necessary the performance required can be had by writing your while loops to avoid the object allocation required to build a closure. I don't see this as a disadvantage at all, as I can use the high level techniques in the remaining 90% of the code.

[+] hackada|14 years ago|reply
I don't really get what all the fuzz is about. I think this guy is losing the point or trying to excuse himself for what he thinks. You wrote your thoughts about scala, the email accidentally (or whatever) leaked and somebody referenced your thoughts. The point is not that you wrote those thoughts in private or whatever the point is that you wrote that java suits you better than scala. And that's got referenced. Nobody said Yammer publicly announces that scala doesn't suit them. Whether your thoughts were intended for the public or for just one person is irrelevant. What a politician says when his mic is on while he is thinking is off the air, and everyone accidentally hears it, is still true. The fact that it was not intended for everyone to hear doesn't automatically make it false.
[+] 8ig8|14 years ago|reply
Just curious: Is there any information about how an email from one executive to two others is 'leaked'? That seems like a bigger concern.
[+] ww520|14 years ago|reply
Coda wrote the email. Sent to some friends for review. Friends of friends of friends got hold of it and it's leaked.
[+] darklajid|14 years ago|reply
I loved the tone of the article.

That said, help a non native english speaker:

"... none of that will go any faster if we sit around here arguing about tools"

Is tools in this context a subtle(?) reference to some persons out there or are we talking about things and stuff only?

Love it either way..

[+] pangram|14 years ago|reply
I'm pretty sure it refers to development tools, not people.
[+] mattmanser|14 years ago|reply
It's an allusion to the phrase 'the right tool for the job'.

In this case you can replace 'tools' with 'programming languages', that's what he means.

[+] salimmadjd|14 years ago|reply
The damage has already been done! The private email, made some rather valid point which after looking through Scala are pretty evident now. So unless you have an existing founding team that is rather versed in Scala, it probably you should be avoided.
[+] schukin|14 years ago|reply
I would imagine a new language would be twice as deadly at a company that has zero QA personnel.
[+] CPlatypus|14 years ago|reply
...and of course, the professional tone of the blog entry is ruined by the thoroughly unprofessional tone of the accompanying tweet:

"That, @jodastephen, is a fucking announcement by Yammer about Scala." http://twitter.com/coda/status/142047850426146816

Ah, so much better than those "slapfights" we have here at HN, isn't it? Protip: backpedaling and fence-mending don't work if you go right back to the kind of public behavior that got you in trouble in the first place.

[+] tptacek|14 years ago|reply
Who do you think you're putting in their place with a comment like this? It's clear Coda could give a shit† what "HN" thinks about him or his messages. Do you think your comment is going to influence him in any way?

Because really the only parties that your comment is going to influence are the subset of HN readers that are actually interested in Yammer's use of Scala, who instead have to watch a pretend trial play out on HN about Coda's "professionalism".

(I'm happy to delete this comment if you delete yours, just for whatever that's worth.)

Really. I'm not trying to be snippy; I'm just saying it frankly.

[+] earl|14 years ago|reply
Coda was obviously not thrilled that @jodastephen apparently (from updates written at the top of his post) decided to

(1) widely publish personal correspondence that wasn't meant to be sent to him,

(2) mirrored it when Coda removed his copy from the net,

(3) insinuated it was a public statement by yammer, whereas it was private thoughts from Coda, and

(4) wasn't even classy enough to contact Coda before publishing it.

Maybe I'm particularly sensitive to (3) because an jerk on HN insinuated that my posts here were representative of the company I worked at, but none of those four things are particularly nice on @jodastephen's part. Note also that, depending on your employer, (3) can get you in quite a bit of trouble. @jodastephen claims he found the email on HN or twitter, but that doesn't mean he has to repost it. Just like when you see accidental tits photos sent from someone's phone, you can either close the tab or repost it to spread it to the world.

That said, it's obviously interesting that the build situation for larger projects seems to be a shitshow, but still, an email to Coda before posting wouldn't have hurt.

The context also matters -- as Coda mentioned, this email was only in regards to the negatives with scala and doesn't mention any of the positives.

[+] shareme|14 years ago|reply
Lesson number one:

drafts of emails at startups get LEAKED!

DUH!