On Thu, Mar 15, 2012 at 03:27:32PM +0100, Jesse Phillips wrote:
> On Thursday, 15 March 2012 at 07:09:39 UTC, so wrote:
> >Hello,
> >
> >Not related to D but this is a community which i can find at least
> >a few objective person. I want to invest some "quality" time on a
> >dynamic language but i am not sure which one. Would you please
> >suggest one?
[...]
> I use D for scripting so I don't really have much suggestion on the
> Python/Ruby front. But bash is somewhat useful.

Bash?? Are you serious?!

OK, I'll admit that bash is a very useful shell and has quite advanced
scripting abilities... I mean, I use bash everyday myself, but as a
*dynamic language*, bash scripting is simply atrocious.

Its over-zealous interpolation of everything it sees, often multiple
times, is one such atrocity (from the POV of a dynamic *programming*
language; I'm not questioning its usefulness in the context of *shell
scripting*). This makes it nigh impossible to pass certain strings
around to script functions without the shell eating some escape
characters and breaking everything. You pretty much have to save
everything in what amounts to global variables to prevent this, and even
then every time you read/write to the variables interpolation takes
place. So it's leaning-toothpick syndrome everywhere.

The shell's philosophy of having minimal functionality in the actual
shell itself and delegating pretty much all complex functionality to
external programs is ... useful from a shell scripting POV, but
extremely inefficient from a programming POV. I always remember my first
job, where a colleague was having trouble with a shell script that
generated some reports required by the customer, because it was taking
too long to run. When they called on me to help, I found that about 99%
of the time was spent forking and exec'ing subprograms (with the
associated I/O delays and whatnot). I rewrote the script in Perl, and
the running time was reduced from more than 2 *days* to less than 2
minutes.

If I were to recommend a dynamic *programming* language, it would be
anything *but* bash!


T

-- 
"Holy war is an oxymoron." -- Lazarus Long

Reply via email to