The web has completely revolutionized the way we live our lives—the average person
in the UK now does an average of six Google searches a day. Within the lifetime of one
generation, our entire society has changed, and it continues to be catalyzed by technology
in a very fundamental way. For me, this is the most fascinating thing to observe
and an even more interesting thing to be a part of.
The web development industry has seen sweeping change over the past five or six
years as it has attempted to cope with these new social habitats and behaviors. Probably
one of the most notable changes was the way in which Ruby on Rails altered developers’
outlook toward building applications and the manner in which they
approached problems. Massive enterprise architecture was out the window and small,
iterative, agile processes became all the rage. At the beginning of 2006, I had been
coding Ruby on Rails for quite some time and had built several large systems with the
Ruby stack. Although I was blown away by the productivity gains that Rails supplied,
taking code to production was a comparative nightmare. I specifically recall Zed
Shaw’s “Rails is a Ghetto” rant and how that was very similar to my own views at the
time. It was then that I started to look for something else, something new.
Before long, I came across Lift, which felt “right” from the very beginning. Scala and
Lift’s elegant fusion of the functional and object-oriented paradigms was a breath of
fresh air when compared to other languages and frameworks. It was great to have all
the security features baked right into a framework, and not have to worry about many
things that typically cause a lot of headaches for developers. These kinds of choices
make a great developer-oriented framework: focusing on removing work from the
developer in a pragmatic and logical way while using as little runtime magic as possible.