The symbols in most programming languages (especially object oriented ones) all look identical, regardless of the kind of object they're representing. This sea of words could be made much richer by using standard HCI concepts to differentiate the objects.
In addition, the editor should be able to pivot and re-organize the code in different perspectives. Rigidly sequenced and nested code should not be!
Huge cognitive gains would be made (for languages like anic) if these two features were implemented.
- Tracks links and dependencies between modules, functions, etc.
- Allows the programmer to view code at dynamically adjustable levels of complexity (displayed planarly or multi-planarly)
- Learn connections between objects and codepath usage patterns while a program is running to see areas which could be optimized better, aren't very tight, etc. (basically, properties of good programs)
anic - an explicitly parallel, object-oriented programming language