The Environment
One feature of Self is that it is based on the same sort of virtual machine system that earlier Smalltalk systems used. That is, programs are not stand-alone entities as they are in languages such as C, but need their entire memory environment in order to run. This requires that applications be shipped in chunks of saved memory known as snapshots or images. One disadvantage of this approach is that images are sometimes large and unwieldy; however, debugging an image is often simpler than debugging traditional programs because the runtime state is easier to inspect and modify. (Interestingly, the difference between source-based and image-based development is analogous to the difference between class-based and prototypical object-oriented programming.)
In addition, the environment is tailored to the rapid and continual change of the objects in the system. Refactoring a "class" design is as simple as dragging methods out of the existing ancestors into new ones. Simple tasks like test methods can be handled by making a copy, dragging the method into the copy, then changing it. Unlike traditional systems, only the changed object has the new code, and nothing has to be rebuilt in order to test it. If the method works, it can simply be dragged back into the ancestor.
Read more about this topic: Self (programming Language)
Famous quotes containing the word environment:
“We learn through experience and experiencing, and no one teaches anyone anything. This is as true for the infant moving from kicking to crawling to walking as it is for the scientist with his equations. If the environment permits it, anyone can learn whatever he chooses to learn; and if the individual permits it, the environment will teach him everything it has to teach.”
—Viola Spolin (b. 1911)
“Modern mans capacity for destruction is quixotic evidence of humanitys capacity for reconstruction. The powerful technological agents we have unleashed against the environment include many of the agents we require for its reconstruction.”
—George F. Will (b. 1941)