Gregory S. wrote:
Hmm … I moved from (n)awk/sed/(k)sh to Perl (4) precisely because of
the readability! This was about 10 years ago. In particular, I never
have found ksh particularly readable. Before Perl, all I used ksh for
was executing (n)awk scripts, and I rarely used sed at all. Most of this
“application” was written in awk, and worked with either nawk or gawk
but not with pure awk.
Times change … if I were implementing the pacakge now I’d use Ruby
instead of the mix of Perl and R it has evolved into from the original
Granted, it was not until I decided to develop a Rails app that I actually
got around to learning it. And I was delighted both by the ease with which
I developed the toy web app I was working on and the pleasure of using the
I think a lot of us discovered Ruby from being immersed in the Rails
hype. I actually discovered it about two years ago in connection with
computer music; Ruby is used in the GridFlow package. But I never took
the time to learn it then, or even mess with GridFlow – I moved back to
Lisp, which is where much of the experimental music community resides.
Oh, and why did I actually need to learn a scripting language (other than
awk/sed/sh which I know well already)? I didn’t. I just felt the itch to
learn a new language.
I wanted to learn web application design specifically rather than Ruby.
I suppose I should have picked PHP to learn, since a lot more web apps
are written in PHP than Ruby/Rails. I may yet learn PHP, but certainly
from the point of view of language design elegance, Ruby is light-years
ahead of the “big three” scripting languages – Perl, PHP and Python.
Strangely enough, the one “wart” on Ruby in my opinion is the
continuation of the UNIX/vi/awk/sed/perl “tradition” of regular
expression syntax and semantics. I appreciate its usefulness and its
ubiquity, certainly, but it is decidedly awkward to me, even after
having used it for 20 years. Using it represents a thinking mode shift
for me; it’s as if my programs are speaking two different languages.
Perhaps Matz can earn a lasting place in the computer science Hall of
Fame by developing a more elegant way to do these tasks “The Ruby Way”.
M. Edward (Ed) Borasky