What is Expressiveness in a Computer Language
marshall.spight at gmail.com
Fri Jun 23 22:36:06 CEST 2006
Chris Uppal wrote:
> David Hopwood wrote:
> > > But some of the advocates of statically
> > > typed languages wish to lump these languages together with assembly
> > > language a "untyped" in an attempt to label them as unsafe.
> > A common term for languages which have defined behaviour at run-time is
> > "memory safe". For example, "Smalltalk is untyped and memory safe."
> > That's not too objectionable, is it?
> I find it too weak, as if to say: "well, ok, it can't actually corrupt memory
> as such, but the program logic is still apt go all over the shop"...
It is impossible to evaluate your claim without a specific definition
of "go all over the shop." If it means subject to Method Not
then we would have to say that Smalltalk can in fact go all over
the shop. If it means subject to memory corruption, then it can't.
In any event, the denotation is quite clear: Smalltalk does not
formally assign types to expressions during a static analysis
phase, and Smalltalk is not subject to memory corruption.
I have a problem with the whole line of reasoning that goes
"someone might think term x means something bad, so we
can't use it." It's unfalsifiable. It also optimizes for malicious
use of the terms. Both are bad properties to have as design
principles, at least in this context.
More information about the Python-list