The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Rich Morin <rdm@cfcl.com>
To: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] Book Recommendation [ reallly inscrutable languages ]
Date: Thu, 18 Nov 2021 13:42:36 -0800	[thread overview]
Message-ID: <FB3742CE-EA42-42C3-91BC-0A158FAB632D@cfcl.com> (raw)
In-Reply-To: <EF7D8E6A-905F-4EAD-A72E-4CC25E16C5AB@planet.nl>

Not that anyone asked, but...

My introduction to Perl was motivated by a performance issue.  I had been using a set of sh/awk/... scripts to generate the source files (troff and file trees) for my Prime Time Freeware book/CD-ROM collections.  One of the cooler aspects of this approach was that I could use sh as a macro processor, substituting assorted values into the awk (etc) code.

However, running the scripts was taking about three hours (!), so I tended to start them up just before going to bed.  This worked, for some value of "work", but it was kind of a nuisance...

So, upon the recommendation of Erik Fair, I transliterated my scripts into Perl.  The similarity of Perl syntax to my previous combination of languages was so strong that the effort was almost mindless.  And, even though I made no attempt to use any Perlish features, the new scripts ran about five (!) times faster.  My assumption is that this was mostly due to getting rid of the process startup times.

My move to Ruby was motivated by the Perl 6 clusterfudge.  After watching Perl 5 sit at a siding for a few years, with no relief in sight, I took another friend's advice and tried out Ruby.  Aside from a few odd differences, it was quite familiar and a very easy transition.  However, the syntax seemed much "cleaner" than Perl's (Matz has very good taste, IMHO).  So, it's still my choice for small, single-threaded scripts.

That said, if I want to write larger and/or concurrent apps, I turn to Elixir.  It gives me Ruby-like syntax (with nifty extensions such as pipes), strong support for concurrency and distribution, macros, etc.

-r


  parent reply	other threads:[~2021-11-18 21:42 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-18 18:47 Paul Ruizendaal via TUHS
2021-11-18 19:03 ` arnold
2021-11-18 19:16   ` Chet Ramey
2021-11-18 19:20     ` arnold
2021-11-18 21:03   ` John Cowan
2021-11-18 21:42 ` Rich Morin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-11-18 22:59 Nelson H. F. Beebe
2021-11-16 19:29 Douglas McIlroy
2021-11-16 19:54 ` Jon Steinhart
2021-11-16 17:00 [TUHS] Book Recommendation Douglas McIlroy
2021-11-16 17:54 ` [TUHS] Book Recommendation [ reallly inscrutable languages ] Jon Steinhart
2021-11-16 17:57   ` Ron Natalie
2021-11-16 18:00   ` Dan Cross
2021-11-16 18:04   ` Larry McVoy
2021-11-16 19:53     ` Richard Salz
2021-11-16 20:05       ` Warner Losh
2021-11-17 19:12   ` Norman Wilson
2021-11-17 20:46     ` Dan Stromberg
2021-11-17 20:52       ` Warner Losh
2021-11-17 21:17         ` Dan Cross
2021-11-17 22:21           ` Rob Pike
2021-11-18  0:35             ` Larry McVoy
2021-11-19 20:04               ` Alan Glasser
2021-11-19 20:14                 ` Larry McVoy
2021-11-19 21:48                   ` Alan Glasser
2021-11-19 22:28                     ` Larry McVoy
2021-11-19 23:17               ` Alan Glasser
2021-11-18 21:03             ` George Michaelson
2021-11-18 21:39               ` Rob Pike
2021-11-17 22:36     ` Bakul Shah
2021-11-18  0:56       ` Dan Stromberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=FB3742CE-EA42-42C3-91BC-0A158FAB632D@cfcl.com \
    --to=rdm@cfcl.com \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).