Live data from Hacker News

The Rest of the Story (Yammer & Scala)

codahale.com

21–30 of 62 posts

Re: The Rest of the Story (Yammer & Scala)

#21
I'm curious to know why Yammer went with Scala to begin with (not to imply that it was a bad decision at the time).

Was it Language of the Week the week they started building Yammer? Were they trying to follow in Twitter's footsteps? Were they a bunch of Java developers looking for something better than Java? Did someone on the team have previous Scala experience?

Would Yammer be where it is today had they gone with Java (or another language, JVM or not)? Before running into the limitations described in the leaked email, was everyone happy with Scala?

Re: The Rest of the Story (Yammer & Scala)

#22
post #3

He wouldn't say that in public because it would be harmful to the Scala community, but everyone who read it is very glad for having read it. But if everyone thinks this way, those innovations will have one view on the web (where there is an image to care for) and another one of engineering departments, where people get real... and that sucks.

I think his point was that the original email was very particular to his use, and it might not have the same issues used by different people. So his public opinion of Scala wouldn't be him lying, it would be him generalizing it more. He was asked what the problems were so he answered. If it was a general post about the language, more care would have probably been given to point out both the negatives and positives. My .02 on how I read the various posts.

Re: The Rest of the Story (Yammer & Scala)

#23

Here's why I, personally, prefer to put all my investment into languages like Scala and Clojure. Scala and Clojure, for their problems (which are not severe, but not to be ignored) have the advantage of being closer to the languages and approaches of the future, in which building comprehensible systems at very high levels of complexity/intellectual intricacy will be even more important relative to performance of exec…

Do people think the hiring and talent argument holds water? The more I hear this argument (e.g., from the "Python Paradox"), the less I buy it. Is the theory that true "hackers" care more about the programming language syntax and semantics than whether it has the right libraries for the subject domain of the startup? Is the theory that true "hackers" care more about whether the startup uses a new and un-tested progra…

Startups are outliers, most of the metrics you mentioned for startups are at best noise and at worst cargo cult business.

The important thing is that people who are using esoteric languages more likely to try new and off the wall things that could lead to a new type of business. A new italian restaurant is not a startup, a restaurant that serves only dehydrated food might be.

If your startup serves italian food then you should probably go hire a bunch of java programmers the python paradox doesn't apply, and arguably most startups by number are serving italian food. (eg. your latest mobilesociallocal coupon startup). If you're truly doing something new then you're probably best off hiring people used to doing new things where there are no established best practices. (eg. trail blazers) You're most likely to find trail blazers on the trail rather than reading best practices docs.

The python paradox is about people not programming languages. (At least that's what I took from it) Also, there's nothing wrong with a new italian restaurant, on average it's probably going to be more successful than an dehydrated food establishment, but if you're looking to create a new nation-wide fad, you'll probably have more luck with dehydrated food than italian restaurants.

Re: The Rest of the Story (Yammer & Scala)

#24
post #12

Earlier quoted context omitted.

Languages are but a tool to build things. What specifically about Scala and Clojure, do you feel, make them closer to the languages and the approaches of the future? While one should keep abreast of current technologies (and languages), there is still plenty of work that requires knowledge of C from the system level to SAAS platform technologies and implementations. It is a 35+ year old language. If your argument was…

Functional programming more easily fosters the parallelism that will be required to keep making performance gains as individual core speeds top out and CPUs only get faster by adding cores.

There are functional programming languages (Erlang, for instance) and the concepts functional programming embraces. While the functional languages make these concepts explicit, people have adopted the concepts into their languages of choice. Search on "functional ", for instance, functional javascript brings up an interesting article on IBM developer works:

http://www.ibm.com/developerworks/library/wa-javascript/inde...

For, myself, I am open to the concepts, but I don't need to be necessarily locked into a given language in this case.

Re: The Rest of the Story (Yammer & Scala)

#25

I'm curious to know why Yammer went with Scala to begin with (not to imply that it was a bad decision at the time). Was it Language of the Week the week they started building Yammer? Were they trying to follow in Twitter's footsteps? Were they a bunch of Java developers looking for something better than Java? Did someone on the team have previous Scala experience? Would Yammer be where it is today had they gone with…

Their whole product is a ripoff of Twitter so that was probably it.

Re: The Rest of the Story (Yammer & Scala)

#26
post #2

"If someone asks me for an honest opinion of them or their work, in private, I feel morally compelled to be as honest as I can with them." I can vouch for that. Around a year ago I asked him for feedback on Cassandra and his response was both thoughtful and helpful. I appreciated that a lot. Thanks, Coda.

Is that response public?

Re: The Rest of the Story (Yammer & Scala)

#27
I can appreciate that having a personal opinion about Scala's use in one particular context belched out into the world is unfortunate, but I have to say that Coda's email reads like my laundry list of concerns about Scala. I could have written this email just by theorizing about Scala's shortcomings based on my short time playing with it. Except in this case, it's correlated with real-world stories.

I like Scala, and I think it's the most powerful and flexible mainstream language available today. Unfortunately, that's the problem.

Re: The Rest of the Story (Yammer & Scala)

#28
post #12

Earlier quoted context omitted.

Functional programming more easily fosters the parallelism that will be required to keep making performance gains as individual core speeds top out and CPUs only get faster by adding cores.

There are functional programming languages (Erlang, for instance) and the concepts functional programming embraces. While the functional languages make these concepts explicit, people have adopted the concepts into their languages of choice. Search on "functional ", for instance, functional javascript brings up an interesting article on IBM developer works: http://www.ibm.com/developerworks/library/wa-javascript/inde…

Some of the functional advantages don't really work until fully adopted and supported by language runtime and syntax explicitly. Immutability in particular I consider really an all-or-nothing proposition. Either you can count on the language using value-only-based semantics, or you can't. Any attempt at middle ground will fail when you're someday dealing with a library built on a library built on a library that, whoops, turns out to use the mutable variables your language supports after all, and then the mutability seeps out from there. Or your junior devs come in and spray mutability around 'cause that's what they know and before you're right back in the morass. (One I've grown sensistive to, since it's the one I work professionally in.)

(Also just declaring the semantics of how mutable variables and immutable variables relate in one language turns out to be really tricky problem. Not impossibly tricky; it's been done, after all. But I suspect trying to mix the two in any sort of deep way means that you have unavoidably created a cognitively "large" language.)

If Haskell is going to "win", it'll be on the strength of properties like these, that either you go all in, or you don't get the benefits of them, just the costs. I think instead of 90-10, "90% of the benefits for 10% of the work", it's rather closer to 10-90.

Re: The Rest of the Story (Yammer & Scala)

#29
post #3

He wouldn't say that in public because it would be harmful to the Scala community, but everyone who read it is very glad for having read it. But if everyone thinks this way, those innovations will have one view on the web (where there is an image to care for) and another one of engineering departments, where people get real... and that sucks.

Obviously he took the time to write this post in such detail because he hopes that its intended recipients can take action to address the issues he raises.

It's not like there isn't already plenty of Scala bashing going around these days anyway.

Re: The Rest of the Story (Yammer & Scala)

#30

I'm curious to know why Yammer went with Scala to begin with (not to imply that it was a bad decision at the time). Was it Language of the Week the week they started building Yammer? Were they trying to follow in Twitter's footsteps? Were they a bunch of Java developers looking for something better than Java? Did someone on the team have previous Scala experience? Would Yammer be where it is today had they gone with…

Their whole product is a ripoff of Twitter so that was probably it.

Not just Twitter. Twitter and Facebook combined.
Post reply on HN