# "Good Ideas, Through the Looking Glass"

**URL:** <https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260>\
**Category:** Ruby\
**Created:** [October 16, 2006, 2:59am UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260 "2006-10-16T02:59:44Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![iceburgh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c4cdca/32.png) [@iceburgh](https://www.ruby-forum.com/u/iceburgh)\
**Post date:** [October 16, 2006, 2:59am UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260/1 "2006-10-16T02:59:44Z")

</div>

Some folks here might find this interesting:

Abstract

An entire potpourri of ideas is listed from the past  
decades of Computer Science and Computer Technology.  
Widely acclaimed at their time, many have lost in  
splendor and brilliance under today’s critical  
scrutiny. We try to find reasons. Some of the ideas  
are almost forgotten. But we believe that they are  
worth recalling, not the least because one must try  
to learn from the past, be it for the sake of progress,  
intellectual stimulation, or fun.

```
http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf
"Good Ideas, Through the Looking Glass"
Niklaus Wirth

```

## -r

[http://www.cfcl.com/rdm](http://www.cfcl.com/rdm) Rich M.  
[http://www.cfcl.com/rdm/resume](http://www.cfcl.com/rdm/resume) removed\_email\_address@domain.invalid  
[http://www.cfcl.com/rdm/weblog](http://www.cfcl.com/rdm/weblog) +1 650-873-7841

Technical editing and writing, programming, and web development

---

<div class="post-metadata">

**Author:** ![iceburgh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c4cdca/32.png) [@iceburgh](https://www.ruby-forum.com/u/iceburgh)\
**Post date:** [October 16, 2006, 2:40pm UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260/2 "2006-10-16T14:40:30Z")

</div>

Rich M. wrote:

> an extremely bad idea.  
> That’s a gross misinterpretation of the facts. Not on your part –  
> thanks for posting something interesting – but on the part of many  
> self-styled pundits. The fact that self-modifying code has its own set  
> of problems doesn’t meant that the code should not be pursued at all,  
> any more than we should have stopped coding altogether the first time we  
> realized there were such things as bugs.

Not only does self-modifying code still offer the benefits originally  
envisioned, but those benefits are finally being realized. The Java  
HotSpot VM is a good example of real-world use. When we are working  
with high-level languages to write portable code, we usually don’t mind  
if the machine code changes on the fly according to provably valid  
rules.

---

<div class="post-metadata">

**Author:** ![iceburgh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c4cdca/32.png) [@iceburgh](https://www.ruby-forum.com/u/iceburgh)\
**Post date:** [October 16, 2006, 8:19am UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260/3 "2006-10-16T08:19:16Z")

</div>

FYI, here is a quote which seems relevant to Ruby:

## Although the possibility of program modification at run-time was heralded as one of the great consequences of John von Neumann’s profound idea of storing program and data in the same memory, it quickly turned out to enable a dangerous technique and to constitute an unlimited source of pitfalls. Program code must remain untouched, if the search for errors was not to become a nightmae. Program’s self-modification was recognized as an extremely bad idea.

[http://www.cfcl.com/rdm](http://www.cfcl.com/rdm) Rich M.  
[http://www.cfcl.com/rdm/resume](http://www.cfcl.com/rdm/resume) removed\_email\_address@domain.invalid  
[http://www.cfcl.com/rdm/weblog](http://www.cfcl.com/rdm/weblog) +1 650-873-7841

Technical editing and writing, programming, and web development

---

<div class="post-metadata">

**Author:** ![iceburgh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c4cdca/32.png) [@iceburgh](https://www.ruby-forum.com/u/iceburgh)\
**Post date:** [October 16, 2006, 4:17pm UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260/4 "2006-10-16T16:17:43Z")

</div>

On Oct 16, 2006, at 8:40 AM, Jeffrey S. wrote:

> > an extremely bad idea.  
> > realized. The Java HotSpot VM is a good example of real-world  
> > use. When we are working with high-level languages to write  
> > portable code, we usually don’t mind if the machine code changes on  
> > the fly according to provably valid rules.

Yes, indeed.

Wirth’s criticism is probably valid in the context of developing code  
for tax accountants. But in the context of developing code intended  
to pass the Turing test, his criticism is completely fatuous. A well-  
know AI researcher once said something like: if our programs can’t  
modify themselves, then they will never do anything very interesting.  
Was is Shank? Was it Minsky? I can’t remember.

Regards, Morton

---

<div class="post-metadata">

**Author:** ![iceburgh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c4cdca/32.png) [@iceburgh](https://www.ruby-forum.com/u/iceburgh)\
**Post date:** [October 16, 2006, 5:18pm UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260/5 "2006-10-16T17:18:20Z")

</div>

> | I had been hired to write a Fortran compiler for this new marvel and  
> | Mel was my guide to its wonders. Mel didn’t approve of compilers.  
> |  
> | “If a program can’t rewrite its own code,” he asked, “what good is it?”  
> |
> 
> Fun little read, btw, though quite off-topic here.

Metaprogramming is the new COME FROM statement.

;p

Martin

---

<div class="post-metadata">

**Author:** ![iceburgh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c4cdca/32.png) [@iceburgh](https://www.ruby-forum.com/u/iceburgh)\
**Post date:** [October 16, 2006, 5:14pm UTC](https://www.ruby-forum.com/t/good-ideas-through-the-looking-glass/72260/6 "2006-10-16T17:14:19Z")

</div>

On 10/16/06, Morton G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> [snip] A well-  
> know AI researcher once said something like: if our programs can’t  
> modify themselves, then they will never do anything very interesting.  
> Was is Shank? Was it Minsky? I can’t remember.

Not that it’s what you’re thinking of, but I read “The Story of Mel” a  
long while back ( [http://www.pbm.com/~lindahl/mel.html](http://www.pbm.com/~lindahl/mel.html) ), and recall  
this quote:

|  
| I had been hired to write a Fortran compiler for this new marvel and  
| Mel was my guide to its wonders. Mel didn’t approve of compilers.  
|  
| “If a program can’t rewrite its own code,” he asked, “what good is it?”  
|

Fun little read, btw, though quite off-topic here.

—John
