

Six months of using Scala and Lift - TrevorBurnham
http://jeppenejsum.wordpress.com/2010/01/18/scala-and-lift-status-after-six-months/

======
mark_l_watson
That was a good article. Generally I use Scala very little, but in the last
few days I have written both Scala and Clojure wrappers for some of my Java
code (I wanted idiomatic wrappers that feel Scala-like and Clojure-like - that
is why I don't just directly call into Java).

Like Clojure, Scala could be a universal programming language for me if it was
not for the learning curve: I have invested so many years on Lisp, Java, and
Ruby that it is difficult to motivate myself to become proficient with 2 more
languages.

Anyway, both the article and the comments to the article were interesting.

~~~
runT1ME
The primary barrier to entry for me in almost all programing languages were
not the language constructs, but the libraries.

Considering you can use any java class in Scala or Clojure, I find them fairly
easy to migrate to (though clojure is much more challenging due to the syntax
and more pure functional nature).

~~~
rufugee
The primary barrier for me is that every time I look at Scala, I think that
this must be what a Perl and Java love child would look like. Granted, syntax
isn't a (sole) reason to discount a language, but gawd some of the code
examples look really obscure. I can't imagine trying to read it on a day to
day basis, no matter how powerful.

~~~
samdk
I think Scala is more of a Java and Haskell/ML love child than anything else.
Having used both of those, I found most of Scala pretty easy to pick up.

The main thing I found is that there are a _lot_ more syntactic constructions
you have to be familiar with than in most other languages, because Scala
borrows a lot from ML-like functional languages but doesn't really leave much
out from Java, and then adds a few things along the way.

------
zmimon
> While you can’t get code into your templates, it’s easy to get UI into your
> code, which is (almost) just as bad.

I looked at Lift a year or two ago and this was the showstopper for me. While
there's a cleanliness and purity to rigidly enforced templating I have never
developed a web app where I didn't need some kind of creative "UI" logic
somewhere. If you can't put it in the templates then it doesn't go away ... it
goes into your core code where the poor schmuck looking at the template has no
hope of doing anything with it. For me, putting what is otherwise pure UI
logic in the UI layer is a lesser evil than having it permeate back to the
middle tier or "view" code layer.

------
jfager

        def sum = series.map(_.sum).foldLeft(0.0)(_+_)
    

Gah, no, stop. Remember, kids: everytime you use naive map-reduce for floating
point arithmetic operations, God kills a kitten.

~~~
asolove
I personally didn't realize this was _that_ inefficient. Can someone give the
preferable alternative?

~~~
jfager
It's not an efficiency issue. Adding floating point numbers naively left-to-
right can introduce huge errors, even in small data sets.

[http://en.wikipedia.org/wiki/Floating_point#Accuracy_problem...](http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems)

~~~
gclaramunt
But is not limited to map/reduce... every time you use floating point god
kills a kitten

------
qhoxie
I share many of the author's feelings with one notable exception. He praises
testing libraries in his pros section. While they show promise, I find these
libraries to be in need of maturing. This is obviously true for much of the
Scala ecosystem, but in my opinion, the have progressed a bit more slowly than
other components I have used.

