Interactive programming. Live. Everything is an object. Everything is accessible. Everything is part of system state. You run code by executing in a Workspace or by using the GUI. Global variables survive the termination of the code you have executed and become part of system state. The system state is made up of objects. Your code can modify the existing system state. Add objects to it, modify existing objects and delete objects. All system state can be stored in an image file and restored from it at a later date to the exact same state it is in now. Animations will carry on where they left off. You can add/remove/change methods/classes. All changes will affect the running system immediately after they are performed. Saving a changed a piece of source code compiles it and the resulting object code immediately becomes a part of the running system. All existing instances of a class become instances of the modified class. They will have the new set of member variables. They will have the new set of methods. For example, the clock’s display method is called every second. If you change it and save it, the next second your updated version will be used. If you change a background color of a window, it will be redrawn with that color. You can inspect and change the state of all running objects.