Live data from Hacker News

Why we love Scala at Coursera

tech.coursera.org

51–60 of 184 posts

Re: Why we love Scala at Coursera

#51
post #49
post #45

From an experience standpoint, isn't the fact that you'd have to teach people a new language coming in the door detrimental to the use of that language? Comparing a company that takes in people that have been coding Ruby/Python/Java/whatever for 5+ years, versus one that takes in people that don't have Scala experience but teaches them on the job, wouldn't the former move faster and generally have more experience, ma…

I think you're right in the short term, but long term you may be more productive with Scala. -Devil's Advocate.

I agree and disagree. The inherent qualities of a more recent language (especially one like Scala which seems to be built upon a good foundation) may make a team more productive in the long term despite the initial cost.

However, what also counts in the long term is the structure of the codebase, and I'd argue that people with more experience in a language are better suited to build more long-term-viable codebases with less technical debt just because they know the language better. But perhaps that's simplistic.

Re: Why we love Scala at Coursera

#52
post #43
post #31

Earlier quoted context omitted.

Just curious, but have you used Java8 much? Or barring that, something like quasar? Qasar in particular is about writing async code as if it were sync code...

Java's future API is inadequate - you can only block on a future or poll it, not ask to be notified when it completes, so you end up needing a thread for each future which loses a lot of the benefits. I haven't used Qasar specifically but I did use other java extensions that add some scala features for a while (Lombok and the Checkers Framework). The thing is, once you're using those you're effectively using a differ…

It is a weird omission, not least because it seems that anyone that wants to use Futures ends up extending it in the same (but incompatible) way. Guava has ListenableFuture, Netty has its own version, etc.

I'm not sure how this happened, but I just use Guava's ListenableFuture and am happy again.

Re: Why we love Scala at Coursera

#54
post #45

From an experience standpoint, isn't the fact that you'd have to teach people a new language coming in the door detrimental to the use of that language? Comparing a company that takes in people that have been coding Ruby/Python/Java/whatever for 5+ years, versus one that takes in people that don't have Scala experience but teaches them on the job, wouldn't the former move faster and generally have more experience, ma…

Teaching someone a programming language (e.g. Scala) is not equivalent to teaching someone to program.

If you take someone who has 5 years Ruby/Python/Java experience, and then spend a month teaching them Scala, they don't miraculously forget everything they know about functions, algorithms, data structures, encapsulation, interfaces, problem-solving, maths, etc.

I started my current job (at a Financial Institution where I write 99% Scala) with no Scala knowledge, but good programming fundamentals and experience with functional programming. A month later, I was a competent Scala programmer.

This isn't unique to Scala - if you have a language you like, which you think offers advantages over the competition, then it is worth training people to use it and then using it.

Re: Why we love Scala at Coursera

#55
The quote about refactoring ease in Scala is interesting, since I imagine the experience would be the same in plain old Java - refactoring in any statically typed language is much easier when you are comparing to PHP, Python and Javascript.

Re: Why we love Scala at Coursera

#56
post #27

It's good to see Scala getting some love after all those "i hate scala" rants (many of which seemed to be written by people who haven't spent much time with the language). We're using it at work for essentially all new development. Although I have complaints, I can't think of another language or environment that I've used that's been so satisfying and free from overall irritation. In practice, we don't get code that'…

We've had the same experience with Scala. It's the most enjoyable language I've ever coded in. We switched away from Java for most new development a while back already. The anti-Scala rants are just confusing to us. Most of the people complaining just seem to be random non-Scala developers recycling other peoples' criticisms.

I hear Java people say "I love scala" a lot. I do not hear people coming from other environments saying this.

Re: Why we love Scala at Coursera

#57
post #45

From an experience standpoint, isn't the fact that you'd have to teach people a new language coming in the door detrimental to the use of that language? Comparing a company that takes in people that have been coding Ruby/Python/Java/whatever for 5+ years, versus one that takes in people that don't have Scala experience but teaches them on the job, wouldn't the former move faster and generally have more experience, ma…

I partially agree to you.

I have been using Scala as primary programming language for more than a year. I have been using Java for almost 5 years before that.

Yes, the learning curve for Scala is a bit high, but once I "got it", I felt much more productive to cover for the time I lost learning new language.

Re: Why we love Scala at Coursera

#58
post #45

From an experience standpoint, isn't the fact that you'd have to teach people a new language coming in the door detrimental to the use of that language? Comparing a company that takes in people that have been coding Ruby/Python/Java/whatever for 5+ years, versus one that takes in people that don't have Scala experience but teaches them on the job, wouldn't the former move faster and generally have more experience, ma…

Teaching someone a programming language (e.g. Scala) is not equivalent to teaching someone to program. If you take someone who has 5 years Ruby/Python/Java experience, and then spend a month teaching them Scala, they don't miraculously forget everything they know about functions, algorithms, data structures, encapsulation, interfaces, problem-solving, maths, etc. I started my current job (at a Financial Institution w…

That makes sense. This is the kind of "carryover" effect that I talk about in the parent comment, so maybe I'm wrong in that there isn't a lot of carryover where in actuality there is.

I just doubt that learning a new language automatically gets you up to anywhere near 50% competency as someone who has been using it for 5+ years (would you agree with that?), and the ability to hire people who can apply that full level of competency (i.e. how big the hiring pool is) is important in deciding what language to use.

Re: Why we love Scala at Coursera

#59
post #56

Earlier quoted context omitted.

We've had the same experience with Scala. It's the most enjoyable language I've ever coded in. We switched away from Java for most new development a while back already. The anti-Scala rants are just confusing to us. Most of the people complaining just seem to be random non-Scala developers recycling other peoples' criticisms.

I hear Java people say "I love scala" a lot. I do not hear people coming from other environments saying this.

I've come from lots of environments, and you're correct, I won't say "I love Scala". What I will say, is right now, if you are targeting the JVM there aren't any better alternatives (I believe in strong typing).

Maybe someday Kotlin or Ceylon or Java 9 will be better but for now Scala is the best choice.

Re: Why we love Scala at Coursera

#60
post #56

Earlier quoted context omitted.

We've had the same experience with Scala. It's the most enjoyable language I've ever coded in. We switched away from Java for most new development a while back already. The anti-Scala rants are just confusing to us. Most of the people complaining just seem to be random non-Scala developers recycling other peoples' criticisms.

I hear Java people say "I love scala" a lot. I do not hear people coming from other environments saying this.

It certainly does sound like a step up from Java, while retaining most (all?) of the good things.

Being a "better" alternative to Java (edit: as kasey says, targeting the JVM) doesn't sound like a bad place to be :) .

It's on my "to-try" list but the little development I do nowadays is on the .NET platform.

Which other environments do you think would benefit from trying Scala, or are bashing Scala? C / C++ ? Node? Edit2: it seems Ruby or Python people wouldn't like Scala. Me, I like static typing.

Post reply on HN