Live data from Hacker News

Brand new Scala-lang.org

scala-lang.org

121–130 of 131 posts

Re: Brand new Scala-lang.org

#121
post #59

The new homepage gives Scala a very classy feel! Nice!! This comes as a (personal) advise to all my fellow startups here. Dear dudes and dudettes, I've been a long and hard fan of the 'Get shit done' mentality and I still am. From my past experience running Rails and Scala, I'm going to tell you what exactly you should do for your startup: 1) If you KNOW FOR SURE your startup will face a lot of page views, requests e…

># Generally, on an average, 1 line of Scala = 10 lines of Java. That's less maintainable LOC (it can be argued otherwise, but just assume it's a good thing) ># Performance. Now this is where Scala really shines. Scala's base performance is almost near Java's in most real world scenarios. Scala's great, but don't overhype it. I just finished re-writing a mid-sized (~30k LOC) API app from Java (Play 1) to Scala (Scala…

Wow! But, I am not sure, I think it varies with individual use-cases. The last time I checked for a simple CRUD app, I got a good 85% performance of the Java equivalent.

Re: Brand new Scala-lang.org

#122
post #2

Nice to see the language page be as easy on the eyes as the language itself. There's almost no excuse not to use Scala if you're deploying on the JVM. On a related note, does anyone else see the Scala logo and confuse it for a symbol representing databases or hard disks? It just doesn't click with me

" There's almost no excuse not to use Scala if you're deploying on the JVM. " There's a good reason, actually - library maturity, especially when trying to get data in and out. Try and do some inner joins with typesafe slick and you'll know what I mean when you see the SQL it generates. Or try and use Play Framework's json de/serialization, and be prepared to punch your monitor in the face. I think these critical lib…

I've definitely felt the pain of Play JSON serialization, it's infuriating.

There's a macro that will take an entire object, generate the converter and do the conversion in one line of code, but it won't let you choose which fields not to send. So your list of users get their password hashes sent too.

For deserialization I just do it manually by pulling the fields out of the objects sent.

Re: Brand new Scala-lang.org

#123
Play Framework is as good for v1 prototype as RoR/Django/Grails/PHP frameworks. But it's better in the whole project development process as you can easy go from v1 to v2 with it )

Re: Brand new Scala-lang.org

#124
post #121

Earlier quoted context omitted.

># Generally, on an average, 1 line of Scala = 10 lines of Java. That's less maintainable LOC (it can be argued otherwise, but just assume it's a good thing) ># Performance. Now this is where Scala really shines. Scala's base performance is almost near Java's in most real world scenarios. Scala's great, but don't overhype it. I just finished re-writing a mid-sized (~30k LOC) API app from Java (Play 1) to Scala (Scala…

Wow! But, I am not sure, I think it varies with individual use-cases. The last time I checked for a simple CRUD app, I got a good 85% performance of the Java equivalent.

In this app we're doing a lot of serializing and deserializing of large JSON objects (using Jackson in Java and Json4S-Jackson in Scala), which is the main performance bottleneck.

Re: Brand new Scala-lang.org

#125
post #90

Earlier quoted context omitted.

Interesting points. A follow-up question for you regarding your belief in the focus on quantity over quality . In your opinion, do you think that the perceived focus on quantity over quality is representative of the culture of some Java shops or a function of the Java language itself (a necessity for more programmers due to the nature of the language)? I've run one of the larger Java Users' Groups in the US (Philadel…

I think it's about the culture. Many Java shops are simply assembly lines. And really, it's logical - if you want to build an assembly line, you pick a popular language for which you've got not problem in finding cheaper developers. This isn't representative of all Java shops btw. And if you've got a different perspective due to your involvement in a JUG, you do have to keep in mind that people (or companies) joining…

This is definitely not representative of all Java shops, but I'd agree that some (many) are as you describe. I think the perspective that I get from JUG, where I have interacted regularly with hundreds of Java pros over a 10+ year period, gives me a sense of the morale of the Java community and their feelings about Java.

I wrote an article about this last year (http://jobtipsforgeeks.com/2012/07/11/advice-from-a-jug-lead...) that goes into the sudden spike in interest for topics that were not Java language specific, and our transition into a group focused more around the JVM than just the language. This transition was driven by what I generally considered the unofficial though leadership of the group, who were gravitating away from the language. This is just around the time of the Sun acquisition when this became most obvious, which may have precipitated some of the changes.

Re: Brand new Scala-lang.org

#127
post #121

Earlier quoted context omitted.

Wow! But, I am not sure, I think it varies with individual use-cases. The last time I checked for a simple CRUD app, I got a good 85% performance of the Java equivalent.

In this app we're doing a lot of serializing and deserializing of large JSON objects (using Jackson in Java and Json4S-Jackson in Scala), which is the main performance bottleneck.

Thank you for the useful insight! :)

Re: Brand new Scala-lang.org

#129
post #59

The new homepage gives Scala a very classy feel! Nice!! This comes as a (personal) advise to all my fellow startups here. Dear dudes and dudettes, I've been a long and hard fan of the 'Get shit done' mentality and I still am. From my past experience running Rails and Scala, I'm going to tell you what exactly you should do for your startup: 1) If you KNOW FOR SURE your startup will face a lot of page views, requests e…

Saying that "1 JVM = 10 thins" to discard Rails is either ignorant or misguided. JRuby brings all the power of the JVM to Ruby. Use Puma + JRuby for a simple and performant solution. Want Netty, HornetQ and Infinispan? Use Torquebox.

Re: Brand new Scala-lang.org

#130

Earlier quoted context omitted.

We used Scala in production at my previous job. It was great for the most part, but upgrading from 2.9 to 2.10 was a massive, massive pain. I think I spent nearly a week on the refactor. We didn't even have that much code (relatively speaking); the majority of the time was spent on finding substitutes for the libraries which were irreparably broken, and rewriting client code against the new API. That's pretty damning…

Can you give some details what caused the issues in your the 2.9 -> 2.10 migration?

To be honest, I don't remember the technical specifics...too much time has passed. It wasn't so much that a breaking feature change required rewriting code as it was that a single failure propagated. One component written in Scala on which my project depended was upgraded to 2.10, and a backwards-incompatible change in case classes broke the ability to serialize/deserialize objects between my project and the other component.

Upgrading my project to 2.10, several of the dependencies no longer compiled. I don't remember which ones specifically, but I believe one of them was a JSON library. We had to find libraries that fulfilled the same roles, then rewrite the code that used those libraries against the new APIs. It wasn't horrible in the sense of there being a nasty, hard-to-detect runtime bug, rather that it required basically redoing all of the "glue code" with respect to libraries.

This wasn't painful enough to scare me away from Scala in the future, though it does make me leery of using Scala libraries from anything but top-tier vendors. That is, I'd use a library from Twitter, FourSquare, TypeSafe, Akka, etc. but never again from anything not widely known.

Post reply on HN