News for hackers. Stuff that matters.
Re:Ask HN: How to get productive with the JVM in 48h? by taligent on Saturday May 12, 2012 @04:18AM (#3963196)
I would definitely go with Play. It is by far the best Java framework around for getting something done quickly and skips the design pattern/XML heavy approaches used in most of the other frameworks. And coming from a Rail background its convention over configuration approach is going to be more akin to what you are used to.

The real issue is how heavy your I/O is going to be. Play2 is very new but is designed for your use case as it incorporates Akka. Play1 however is easier to use and more well understood. For me I would start with Play2/Java and then selectively incorporate Scala where you need to. That's just because I find Java dead easy to code, maintain and hire developers for.

Twitter has some great open source libraries/resources for Scala at http://twitter.github.com that can help.

Also if you have full control of your stack do look at Nginx/Lua. It is lightening fast. http://news.ycombinator.com/item?id=2390816

Re:Ask HN: How to get productive with the JVM in 48h? by noelwelsh on Saturday May 12, 2012 @04:34AM (#3963231)
I agree with the recommendation for Play 2. It is simple framework that covers a lot of bases adequately. If you want to do the HTML/database thing Play will cover this. If you want to do the REST service thing, Play will also handle that.

If you just want to do REST services we've had a lot of success with BlueEyes (https://github.com/jdegoes/blueeyes) and the framework we've built on top of this, Bigtop (https://github.com/bigtop/bigtop). Documentation is lacking compared to Play. It's an option is you're feeling braver, want to do pure REST services, and want more performance than Play gives you.

I think only crazy people use Java. It's just not productive enough. I use Scala. The shape of the learning curve will depend on your experience with modern languages. If you've done Ruby/JS and are happy with blocks/closures and stuff like underscore.js you're halfway there. If you've ever done any Haskell/O'Caml/ML you're 90% of the way there.

Getting started on the JVM can be daunting. In the Scala world we use SBT (https://github.com/harrah/xsbt/wiki) which gets around a lot of Java/Maven nonsense, though adds some of its own. Other languages will have their own build tools.

I've had a tiny peek at VertX, and don't like it. It seems to encourage callback spaghetti and doesn't seem to make good use of the type system.

If you go any of the Scala options above feel free to drop me an email (in my profile) if you need help.

Re:Ask HN: How to get productive with the JVM in 48h? by nuriaion on Saturday May 12, 2012 @05:44AM (#3963363)
If both Java and Scala is new to you i would suggest to start with Scala and learn to read Java by the way.

I came from a background of a lot of Embedded C and some Ruby. For me Java had more a feeling like C. Very clumsy and needs a big amount of code to describe something.

Re:Ask HN: How to get productive with the JVM in 48h? by bartonfink on Saturday May 12, 2012 @01:28PM (#3964541)
I've used Play 2 for freelance work and I use Play 1.4 for my day job, and I vastly prefer Play 1.4. Play 2 is heavily biased towards Scala and static compilation (even to the point of requiring "HTML" templates to be compiled), and I don't see a substantial benefit to the Play 2 claim that everything - code, configuration, templates - is typesafe.

I'm perfectly willing to accept the possibility that I just don't get it, but I think Play 1.4 provides a far better development experience. Further, there's no sign that the developers are going to abandon the "old" Java-centric Play architecture anytime soon, so you won't be starting out on something with a shelf-life measured in weeks if you went that route.

Re:Ask HN: How to get productive with the JVM in 48h? by brutuscat on Saturday May 12, 2012 @05:21AM (#3963321)
If Play is truly code oriented I will definitely check it out. I hate those java projects where almost everything is xml, is unreadable and most of the times the examples don't even work... Thanks!