Wednesday, December 28, 2005

Bruce Eckel has an excellent description of what sets Ruby on Rails apart from the competition:

Rails brings up a deeper issue, as well. Apparently, something "relatively simple that you only do once," such as setting up the database by writing SQL, really does benefit from automation, possibly because you actually end up doing these things more than once. Or possibly because simplicity of both expression and of understanding really is important. There is a faction among us that seems to feel that if you can do anything at all, it doesn't matter how many hoops you must jump through to accomplish that thing. These are the folks that assert that Java's verbosity is "just finger typing that Eclipse/IntelliJ will do for me," and it doesn't matter if the resulting code has 20 times the visual bulk of a simpler approach. One of the basic tenets of the Python language has been that code should be simple and clear to express and to read, and Ruby has followed this idea, although not as far as Python has because of the inherited Perlisms. But for someone who has invested Herculean effort to use EJBs just to baby-sit a database, Rails must seem like the essence of simplicity. The understandable reaction for such a person is that everything they did in Java was a waste of time, and that Ruby is the one true path.

I sincerely wish more API designers had this goal. It can be the difference between your platform being a pleasure to use versus endless frustration.

0 Comments:

Post a Comment

<< Home