> While I agree that Pd should not crash here, I don't agree with your
> reasoning: Pd is a programming language. It is possible to write buggy
> programs in Pd just as in [...] Javascript. That's not the fault of Pd
> or [...] Javascript
(I've stripped out the part about C because that's a compiled language while
PD and javascript are interpreted languages and I think they just can't be
treated the same way)
I agree with what you say.
However, I can't think of any "bugginess" of any pd or javascript program
that may justify the interpreter to crash.
If a web page with buggy javascript makes my browser to crash and close
(with all the other pages I had opened in the other tabs), that IS a bug of
the browser or javascript interpreter.
Of course, I cannot expect a buggy patch [javascript program] to "work".
*Its execution* may even become unstable (and that of all simultaneously
running patches, since the PD "virtual machine" is not and is not supposed
nor expected to be a "multitasking" virtual machine where patches are
independent programs) but I still MUST be able to save the patch, and close
one or all the patch windows.
If I can't do that, then PD has a bug. I am not saying that the developers
of pd should be scorned for that, nor that it easy to fix, nor even that it
is worth wasting time fixing it, but it is a bug.
The interpreter or virtual machine of an interpreted language is a software,
and the interpreted code is its input. The "virtual" machine can became
"virtually" unstable if it is running buggy code. But the "real" software
that simulates the virtual machine must keep stable; if it triggers
(legitimate) operating system's defense mechanisms, the interpreter is buggy
software.
The case of C is different, because it is a compiled language that produces
real machine code which will run (and crash) directly on the real machine.
It is the programmer's responsibility to avoid writing code that will
crash - though it is the operating system's responsibility to avoid that its
crash affects other programs running simultaneously.
Obviously this has no relevance to the original discussion about the
namecanvas but I thought it was interesting as a general matter. And I
preserved the subject to keep it identifiable as a followup to that thread.