Self-modifying code
Robert Colwell
colwell at mfci.UUCP
Thu Jul 21 03:08:49 AEST 1988
In article <759 at cernvax.UUCP> hjm at cernvax.UUCP () writes:
>
>Programmers have become quite accustomed to the destructive assignment of
>data ( x := y + 2 ), so why should the destructive changing of code be any
>different? If the practice were more common, then it wouldn't seem quite so
>bad, surely. After all, a Turing machine with a finite length tape is not
>*that* difficult ...
Hubert, I was going to let this whole SMC discussion slide on by, but
your post finally convinced me otherwise.
First, you meant "y" := y + 2, not "x", right?
Second, it seems like only yesterday when we (the royal we) CPU
architects were so concerned with trying to narrow the semantic gap
between what a programmer was trying to express and what the
machine/language was coercing her into. Languages like Ada and
machine architectures like capability machines were intended to
address this perceived need. The basic idea is that (oversimplifying
drastically) in a small programming environment (you at your
standalone workstation) anything goes in terms of protection and
language type checking, etc.
The interesting domain is that of programming-in-the-large, with
large teams of programmers producing hundreds of thousands of lines
of code (SDI/Shuttle). There, extracting the last nano-mip of
performance is of far less interest than in avoiding bugs and
producing maintainable code, and I still believe that supporting that
environment is a far more important challenge to architects than
worrying about SMC could ever be. And I don't think (heavy sarcasm
here) that UNIX/C is the ultimate answer to that environment.
Bob Colwell mfci!colwell at uunet.uucp
Multiflow Computer
175 N. Main St.
Branford, CT 06405 203-488-6090
More information about the Comp.lang.c
mailing list