Handling the growing complexity of software is one of the biggest challenges for the software industry. Two common answers to this challenge are: raising the level of abstraction (i. e., reducing complexity) and improving human understanding by improving the organization of software (managing complexity). It is our contention that if one gives developers tools with which they can better structure their software, one can reach both goals. Our programming language and integrated programming environment TUBE is such a tool and is based on hypergraphs, in their incarnation Topic Maps. Topic Maps give us powerful ways of annotating, documenting, querying and presenting TUBE programs. It also allows us to integrate all artifacts that are part of the system. Moreover, TUBE is a prototype-based object-oriented language which leads to a more direct, concrete and interactive style of programming in it, further increasing productivity.