Programming Language Design

By | January 14, 2004

Matz’s presentation at OSCon 2003 on The Power and Philosophy of Ruby lists three basic principles of programming language design.

  • Choose good names
  • Understanding humanity
  • Embedding hidden messages

Some of his points that really hit home relate to succinctness, fewer bad surprises, reduction of stress, consistency, and offering more than one way to accomplish a task, but clearly indicating a preferred way.

His presentation links to Paul Graham’s excellent Succinctness is Power essay. Although it is critical of Python for lack of succinctness, I think Python provides a good trade-off between succinctness and readability. Perl may be very succinct, by I find it nearly impossible to read, whether line by line or as a whole program, even if it is shorter. Perhaps I would change my mind if I were willing to submit to a couple week brainwashing/training session, but I don’t think it’s worth it. Maybe I should check out Ruby. Or even better, Groovy.

[via Sean McGrath, CTO, Propylon]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.