Madhu Siddalingaiah's interview with Bruce Tate continues. Bruce explains why
developers are moving from Java to Ruby on Rails.
Siddalingaiah: You say that the simplest problems are getting
harder to solve in Java. What are some examples of these simple problems?
Tate: The biggest one is web-enabled database applications. A
couple of others are important, too. AJAX is easy in Ruby on Rails, and
painfully tedious in Java. Simply developing stateless web apps is very
hard in Java, and extremely simple in continuation-driven frameworks like
Seaside.
Siddalingaiah: I agree with you that innovations are beginning to
appear outside of Java. Why specifically do you think that has happened?
Tate: Right now, the state of the art in programming is an idea
called metaprogramming. This metaprogramming means we're writing programs
that write, or change, programs. Hibernate, for example, makes plain old
Java objects (POJOs) persistent. Spring makes POJOS transactional and
secure. Aspect-oriented programming (AOP) is all about metaprogramming. So
that's where Java developers are spending most of their time. But
metaprogramming in Ruby and Python and Lisp and Smalltalk...in all of
them...is very easy. In fact, dependency injection containers get built in
those languages (usually from Java converts), but never used. AOP doesn't
get any traction at all. You just don't need it. And that means you just
have to work too hard in Java to do the truly interesting stuff. It's time
to go up to a higher level of abstraction. Throw in important features in
other languages like continuations, and you've just got an un-level
playing field.
Siddalingaiah: Ruby on Rails is known for its rapid Web
application development, but there others, such as PHP. The PHP community
has developed mountains of opens source Web applications. Do you think PHP
developers have something valuable to contribute?
Tate: Not really. PHP, and the ideas behind it, have been around
for a while. It's quick and dirty. We know quick and dirty. Visual Basic.
PHP. Perl. They don't excite me. Now, quick and clean, that excites me.
Ruby on Rails is model-view-controller. It stretches the
object-relational-mapping state of the art. It's quick and clean.
Siddalingaiah: Ruby is a dynamic language, but there are many
others, such as LISP and Smalltalk. Are there lessons we can learn from
the one of oldest and one of the most innovative of languages?
Tate: Sure. Ruby is actually a nice fusion of Smalltalk and
Lisp. I think the biggest lesson is that you need a catalyst. Ruby has
Rails. None of the other dynamic languages got a catalyst. After a
language has been in the public eye for a while, we're not really going to
give it a chance.
Next: Weak typing, performance, Groovy
1 2
3 4
Next>>