Monday, September 25, 2006

Programming aesthetics

I really should know better than to post this. Really. Please, don't start a big flame war. But, I peer over the fence from time to time skim through some tutorials and demos on Ruby and Ruby-on-Rails in particular, and one of the things that puts me off it (aside from the sunk cost of my Python knowledge and the fact that my favourite open source CMS project uses Python), is that ... it's so ... ugly.

I have an in-built aversion to blocks that end with an end keyword. Call it prejudice. I once learnt Visual Basic. Maybe that's it, but there are also lots of strange symbols flying about. $`? < for inherits-from? Functions without braces (oh, that's just crazy...).

If someone has seen the beauty in Ruby, please enlighten me. I genuinely believe that code asthetics are important in motivating programmers, ensuring consistency, catching mistakes and ultimately producing better software.

Of course this is totally subjective. But some good examplse of elegance and aesthetics would be nice.


Jim said...

Lucky you, I'm not flaming... I agree completely.

dictor said...

I generally agree (not to surprising that as a reader of a Plone blog I personally prefer Python, too).

Some more points though:

is a very nice Ruby online book, some examples explain Ruby aesthetics by having the reader "Read aloud..."

* I see another aspect of Ruby:
"at least it's better than Perl"
- Perls enourmous success in past always surprised me, given that an unreadable language). If some of those Perl programmers are switching to Ruby now (because it somehow fits their brains - and I possibly have to read their code)
fine with me: I can say aloud to myself: "at least it's better than Perl".

(OT: don't know why my google acount identifies me (A. Reuleaux)
as "dictor" now - I will have to investigate further)

kevin said...

I've put a
simple syntax comparison between Python, Ruby (and Perl) on Flickr.

When did RubyMate get all pretty? PyMate needs some more CSS lovin'

I much prefer Python over Ruby, but I would have to disagree about the ugly syntax. I quite like the feel of end for some reason, and the ability to leave off the () lets you write code that just looks clean and nice.

The < sign for object inheritance I'm not as keen on. And there are too many alternative syntaxes that do the same thing for any respectable pythonista to appreciate. Although the terse syntax and regexes does mean that Ruby scales down nicer than Python for one liners.

Jeffrey Shell also has some
apprecitive ramblings on Ruby syntax.

Anonymous said...



A片,色情,成人,做愛,情色文學,A片下載,色情遊戲,色情影片,色情聊天室,情色電影,免費視訊,免費視訊聊天,免費視訊聊天室,一葉情貼圖片區,情色,情色視訊,免費成人影片,視訊交友,視訊聊天,視訊聊天室,言情小說,愛情小說,AIO,AV片,A漫,av dvd,聊天室,自拍,情色論壇,視訊美女,AV成人網,色情A片,SEX





Anonymous said...