re: Ruby

a fragment of a longer unpublished report

Programming languages are all predicated on the notion creating an expressive form for humans to describe complex processes both to computers and to one another. Certainly it is possible to solve any problem in any Turing-complete language with sufficient access to required resources. One need only look at the work of hobbyists with esoteric languages such as Malbolge and Brainfuck to see this clearly. It is, after all, just machine code in the end.

Here’s “Hello, World” in Malbolge:

 (=< `:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@986543W10/.R,+O

Here it is in Brainfuck:

 ++++++++++[>+++++++>++++++++++>+++>+< <<<-]>++.>+.+++++++..+++.>++.< <+++++++++++++++.>.+++.------.--------.>+.>.

However, in order to create elegant and maintainable code in a reasonable period of time, an expressive and clear language is desired. Certainly this choice is partly one of personal preference and the programmers’ subjective perception of beauty, utility, and comprehensibility. In this regard, the authors have no basis other than our own aesthetic sense. That said, we feel that Ruby is among the finest tools ever made for the task.

Languages do not stand on their own, however; they are intimately linked to their available libraries, tools, and frameworks. C would never have reached its unique position without the broad and deep standard library, whose elements have been copied in nearly every environment since. Both Perl and Ruby benefit equally from the inclusion of the powerful yet cryptic ‘regexp‘ syntax for string manipulation.

Ruby stands in a particularly interesting position in forming the foundation for Rails, a subtle and powerful framework that exemplifies the MVC model of programming, which divorces the presentation of data from its underlying computational model. While such frameworks do exist for other languages, such as the Perl MVC framework Catalyst, few offer the clarity, comprehensibility and maintainability of Rails.

Furthermore, the vibrant and enthusiastic Ruby developer community is strongly focused on developing … plugins ranging from login managers and automated image resizing to SOAP and RSS managers. Ruby’s scope and typing mechanisms, combined with Rails’ clear division of the MVC paradigm allows programmers to collaborate easily without interference, whether a table or an ocean separates them.

Tell the masses all about it
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • Furl
  • Ma.gnolia
  • MySpace
  • Reddit
  • StumbleUpon
  • TwitThis
  • Wists

No Responses to “re: Ruby”  

  1. No Comments

Leave a Reply

You must log in to post a comment.


    November 2006
    S M T W T F S
    « Oct   Dec »
     1234
    567891011
    12131415161718
    19202122232425
    2627282930  

    Categories: