views:

456

answers:

1

I heard a lot of good things about Scala and the Lift Web framework recently, especially from Foursquare's guys hence, I might use this technology in my next projects.

  • Are any of you Scala/Lift Developers?
  • What have your experiences been for developing on this platform and what are its advantages over Ruby On Rails or Python/Django?
  • Do you see it as a viable technology and "something to keep an eye on" for the next couple of years?

Is it worth it? Share your experiences on the Scala/Lift Platform.

+12  A: 
  1. I'm currently doing most of my things in Scala right now. (I should mention that I think that Scala is the best thing since the invention of the wheel some time ago. :-D )

    In my humble opinion it is the only language which truly allows people to choose the best approach to a task without some unnecessary divide between (more) object-oriented and (more) functional approaches.

    Looking at the languages which claimed something like this before, I can basically see two competing language design camps:

    • The ones from the object-oriented side which saw that functional programming gained some traction lately and thought "Well, we don't really understand that functional thingie, but let's add some fancy syntactical sugar to our language, so we can claim it is functional too!" (examples: Java, Python)

    • Then the ones from the functional side, who thought "Well, our functional approach is far superior to anything else and that object-oriented nonsense is annoying, but let's put some additional keywords into our language, that will make our language escape academia for sure!" (examples: F#, OCaml)

    Scala's designers unified many approaches coming from both sides and created some well-designed language, which is - in my humble opinion - the biggest difference to other languages, which decided to take the "Frankenstein" approach to programming language design.

  2. Having done only smaller things with Lift yet and only superficial experience with Rails and Django, I have to admit that most of the time when I wondered why something in Lift worked differently from what I expected, this was due to the fact that my expectations were flawed and Lift's approach superior.

    Lift is certainly no "easy introduction to Scala" but learning how Lift works was almost as rewarding as learning Scala before it.

    The ability to have a "clean" view without any logic in it is a great improvement to other frameworks which claimed the same, but fell short of it. Scala's XML literal support makes it possible to verify the well-formedness of your response: The compiler will prove at compile time that you only emit well-formed XML to a client.

  3. Lift is viable technology and at the moment the only real approach if you want to build web applications which look, feel and behave like "real" desktop applications without writing insane amounts of code yourself.

soc
I wonder what do you have in mind when you say: *Java added some fancy syntactical sugar.. to claim it's functional too?*
OscarRyz