This post originated from an RSS feed registered with Python Buzz
by Carlos de la Guardia.
Original Post: Language culture and the Ruby-on-Rails phenomenon
Feed Title: I blog therefore I am
Feed URL: http://blog.delaguardia.com.mx/feed.atom
Feed Description: A space to put my thoughts into writing.
Ruby-on-Rails
has been making a lot of noise lately, and a lot has been written about
that. What I find interesting, though, is the varied reactions to RoR
success that the different language communities have.
I follow a
number of language specific blogs, and I think I at least have a decent
sample of some of the web's most read bloggers in each of the Python,
Java and Smalltalk communities, at least those involved in some way
with web application development. For what is worth, I also follow a
number of .net related blogs, but I am really not that well informed
about the .net community. All I can say is that it seems from what I
read that they rarely write about stuff not directly related to
Microsoft development tools.
The Java bloggers have written a
lot about this subject. For a couple of weeks, a blog post featuring
RoR was almost guaranteed daily. Most of these posts also were
commented on abundantly. What I found very interesting here is that
very few people seem to really, really love Java. When confronted with
Rails, many Java developers assumed that to work with a tool like that,
they would have to switch languages. Some proficient J2EE developers
mentioned that they were considering using Rails for their next
project. As an example, David Geary and Bruce Tate, both of them
authors of at least two Java books, will be teaming up to write a RoR
book, after Geary initially dismissed Rails as just a CRUD scaffolder.
That's a heck of a conversion!
Of course, a lot of Java coders
were quick to dismiss RoR as a simple tool for simple web sites that
never would scale. After all, they say, the first 'E' in J2EE stands
for Enterprise. To them, Rails is ok for small, simple developments,
but for large applications, well, only J2EE (ok, maybe also .net) is
worth considering. Other than the charge that it won't scale, most
arguments from this group against Rails focus on the low numbered
current version (0.12.1), which to them speaks of immaturity, and the
lack of static typing. It doesn't help to warm them up to RoR that
David Heinemeier Hansson takes frequent shots at the J2EE community and
is continually (and successfully) hyping his web framework. He also is
not shy about constantly self-congratulating himself.
Over at
the Python community, it seems that what truly bugs us is all that
popularity Rails is enjoying. Many think that there should be a single
greatest solution for all our web programming needs, like RoR is
characterizing itself to be in the Ruby world. The feeling is that
there is nothing that Rails does that more than one Python framework
can accomplish, but that we should learn from the RoR guys about neatly
packaging and presenting our efforts. But other than this, few Python
people see Rails as such a big threat or think it is very innovative.
The Rails folks claim 10x productivity over other web frameworks, but
that is clearly referring to Java or .net frameworks, since Python
frameworks also posses the single most responsible element for making
RoR so formidable: a powerful, object oriented, dynamic language at its
core.
Smalltalk web developers take it even easier than that.
They applaud Rails success and are maybe just a little envious of its
popularity, but they know that the key element there is Ruby's dynamic
nature and in that regard they consider Smalltalk superior. Besides,
one of the truly innovative web frameworks right now, Seaside, is done
in Smalltalk. One thing is for sure, this crowd really love their
language.
I think it is no coincidence that dynamic language
programmers, even if they see in Rails a nice example of a web
framework and perhaps something to emulate in their own languages,
seldom consider a switch of development language or feel as insulted
and threatened by Rails as their Java and .net counterparts. We know
that what really makes us productive is the language underneath the
framework.