Is Ruby an aesthetic language ?

For me, a computing language has to be aesthetic !

Like many IT people, I’ve used several computing languages through my life. With my Comodore 64 I’ve started developing in Basic followed by Assembly. Then I had to do a bit of Cobol for a living and jumped into C and Ada. During the client server era I used Visual Basic and then I had a long and painful period of C++ (‘*’ and ‘&’ are definitely not esthetic). In the meantime I was doing a research project in Prolog (that was cool and beautiful). Then, in 1998 Java arrived and I thought “this is great”. Since then, I have to be honest, I have just focused on Java and I love it. Java is great because of the APIs, the Open Source projects, the JCPs… Java is great because a lot of people are working around it. But I have to say, I love Java because I like the aesthetic side of the language. When it comes to aesthetics, nobody is wrong and nobody is right : I like the blue, you like the red, and that’s it.

For many months I’ve been reading blogs and articles about Ruby. Yet another language I thought. But more and more people are using it and talking about it. So, I thought, let’s give it a try. I’ve downloaded Ruby, some documentation, and started typing some Hello World examples to have a feel of the language. I haven’t gone too far yet, but I can already see some very attractive features of the language.

Coming back to aesthetism, do you really think Ruby is an aesthetic language ? Do you really think that declaring a variable @likeThis or @@likeThat makes sense while class methods are declared Like.this ? What about a #comment and an #{expression} ? And I don’t even want to talk about accessors that can be defined as methods or using the shortcuts attr_reader and attr_writer or access controls (public, protected and private) which can be used in different parts of the class ? Oh yeah, and what about inheritance MyClass < SuperClass. I’m a bit scared to dive more into the language and discover that ‘$%’, ‘@@@’, ‘ ?\’ or ‘<<<<!– !!!:\><<‘ are keywords. It looks like Ruby wants to use schortcuts to develop faster. I would say, let’s have an aesthetic language (even a bit verbose) and use tools (IDE) that produce code faster (like writing automatically getters and setters for example).

I plan to spend more time on Ruby and eventually use it in a small scale project. Like a lot of people I might get enthusiastic about it and decide to use it more. But aesthetic does not change. When you like or dislike something at first sight it stays like that. Imagine if your bedroom is pink and you are not allowed to paint it in a different colour : you sleep in it, you can even get used to it, but you still don’t like your bedroom. I think Ruby is not a beautiful language and after my tenth project with Ruby I think I will still think the same.

And you do you think Ruby is good looking ?

Leave a Reply