Abstract:
Despite years of research into human computer interaction
(HCI), the environments programmers must use for
problem-solving today—with separate modes and tools for
writing, compiling, testing, visualizing, and debugging—
derive their basic structure from historical accident, and take
little advantage of HCI research into the cognitive issues of
programming. Neglecting these issues is an impediment
to the programmers' ability to produce reliable,
maintainable software. In this paper, we describe a system
in which programmers can modelessly steer as they
specify, visualize, explore, and alter the behavior of a
program while traveling through the program's logical
time. This approach supports two often-neglected
cognitive principles that programmers need for problemsolving.