Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!ihnp4!inuxc!pur-ee!uiucdcs!parsec!ctvax!uokvax!andree From: andree@uokvax.UUCP Newsgroups: net.lang Subject: Re: Self-modifying code - (nf) Message-ID: <4894@uiucdcs.UUCP> Date: Thu, 12-Jan-84 23:07:50 EST Article-I.D.: uiucdcs.4894 Posted: Thu Jan 12 23:07:50 1984 Date-Received: Sun, 15-Jan-84 00:59:55 EST Lines: 24 #R:fortune:-215700:uokvax:9000018:000:953 uokvax!andree Jan 11 20:58:00 1984 Ok, enough. I've got to flame (mildly). First, under normal circumstances, there is NO good reason to write self-modifing code. Most of the things posted here could be done by on-the-fly code creation. This is NOT the same thing, and can actually be done cleanly (even in assembler!) The trouble is, very few languages will let you create and run code on the fly. You practically HAVE to have an intepretive system, and not all of those give you this facility. The best langauge at this, is, of course LISP. FORTH is nearly as good. SNOBOL doesn't do to badly either. I can't think of any others off the top of my head. Are there others? Final note: `normal circumstances' means that you have the source, and aren't worried about getting that last microsecond/byte out of the system. There are cases where you need to do this, and such things are reasonable to do to meet spec (providing you have nice, clean, comment HLL soruce somewhere!).