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:
“White males are the most responsible for the destruction of human life and environment on the planet today.”
—Robin Morgan (b. 1941)
“Maturity involves being honest and true to oneself, making decisions based on a conscious internal process, assuming responsibility for ones decisions, having healthy relationships with others and developing ones own true gifts. It involves thinking about ones environment and deciding what one will and wont accept.”
—Mary Pipher (20th century)