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