

Ask HN: From Ruby to Scala? - rufugee

Hi guys.<p>I'm a long time Java developer (around 10 years off and on) and a more recent (4 years) Ruby developer. Lots of other languages thrown in too, but I won't mention them here.<p>Anyway, I <i>love</i> many things about Ruby, and also about Rails. The clarity, succinctness and openness is refreshing. But I often find things to dislike too...(the fact that I have to develop a rather large set of tests to even get to the level of checking a true compiler would give you...the monkey patching...the lack of a true, effective, import, the difficulty many tool vendors have when dealing with things like autocommit...the lack of an agreed upon and standard way to define software and api contracts...I'll stop here, but there's much more).<p>I'm not Ruby-bashing by any means...it's been good to me and has made coding fun again. But I'm starting to hanker for something new.<p>I've heard from some that Scala has many of the features that make Ruby nice, but without paying the "dynamic magic" tax. And I know from lurking here that many of you use Scala. So, HN'ers, I ask you:<p>1. Is it true? Can Scala do much or more of what ruby does with the same clarity and productivity boost? I've scanned some of the docs and have frankly been scared of the syntax...reminds me of my old Perl days.<p>2. Assuming #1, what's an experienced but very busy Ruby/Java developer to do to get up to speed? The Artima book weighs in at 776 pages...if it really takes that much tree carcass to learn the language, I'd argue that #1 <i>must</i> be false. I still have sore arms from carrying around my Java books...I don't want to go through that again.<p>3. Has Lift reached a point where it is ready for production use, and if so, how does it compare to Rails?<p>Thanks very much for any insight you provide!
======
qhoxie
These are surely aspects that differ based on the coder, but here is my take
on it. I have a strong Ruby background and the last few months I have been
using Scala alongside Ruby.

1\. In short, yes. I think the key for me is using a mix of Scala and Ruby.
For many tasks, I am not as efficient with Scala. I think that is 2/3 my
inability to more effectively leverage the language and 1/3 the language
itself. I find Scala to be incredibly clear; in many cases more so than Ruby.
The type system and pattern matching can do amazing things for readability.

2\. The Artima book is helpful to have at hand, for sure. As for getting up to
speed, both the O'Reilly book and the Pragmatic book are good. Just from my
feel, the Pragmatic appeals more to those coming from a Java perspective, and
the O'Reilly appeals to people with a Ruby/Python background.

3\. Never built more than a toy application with Lift, but there are
definitely a fair number of people using it in production.

~~~
rufugee
Cool...thanks for your input.

