develooper Front page | perl.perl5.porters | Postings from February 2000

Re: use octets; and "escaping the piranha's"

Ilya Zakharevich
February 12, 2000 16:28
Re: use octets; and "escaping the piranha's"
Message ID:
Simon Cozens writes:
> >>Same with Perl.  It is advertised as a programming language, while it
> >>is not [I assume you know what "I" mean by a programming language ;-].
> >
> >Something mendacious, clearly.
> Ilya wants his programming languages to be formally specified.

I think this is an overstatement.  I want it to be *sufficiently*
specified, that's all.  Just enough that *in principle* reading
documentation would allow a (mythical) scrupulous programmer to
predict how this program will run without actually trying.

> Whatever they're doing with it, it's apparently not programming.
> Maybe it's just giving instructions to a computer.
> Maybe it's just specifying code.

That's scripting.  Remember the difference?  Larry said it many times:
scripts go to actors, programs go to the observers.

You script when you know in advance what is going to happen, you just
put your expectations on (virtual ;-) paper.  Since you know what is
going to happen, you can run your Perl script, and if it behaves not
as you expect, you just change it until it follows your expectations.

A need to program arises when you transcend "a sequence of actions
which were already performed, but now need to be ``mechanically''
repeated again and again".  (Say, when you try to deal not with the
performing abilities of actors, but with the perceiving abilities of
much more numerous public - though the analogy is quite thin here. ;-)

You cannot "script" things which are way above your abilities to
perform - since they be well above your abilities to test.  Thus a
scripting tool with which you need to *always* double-check whether it
took your directions the way you intended them is not suitable for
such tasks.  Debugging becomes a nightmare with much smaller programs
when DWIM can get in the way.

In fact nowadays Perl is not *that far* from becoming a programming
language.  A way to control DWIM (possibly switching it off
completely), plus additional 5% of documentation, plus removing 80% of
existing "documentation" - and we are almost there.

Ilya Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About