A code editor that doesn’t use the document metaphor

May 10 2017 Published by under Uncategorized

I dare say all main code editors today use the document metaphor; text in a document read from top to bottom.
I dare say time has come to drop this metaphor to a more object oriented or data flow oriented one.


When writing a class in an object oriented language the resulting document usually, contains the properties in the top and the methods below.
This means that when looking at the code reading a property name means it is easy to read other properties as they are close by in the document. But is this really what you want? – isn’t the methods using this property what you want to look at?

Now say you are debugging the Save method. There is a great chance you have method Restore (alphabet wise R is next to S) on the monitor; despite you being totally uninterested in them.

What you instead want to have before your eyes and withing a keystroke are the properties User and IsAdministrator and the method Validate; because they are part of the data flow method Save uses.

You are probably also interested in who calls Save and who is called by Save.

My proposal is this:

When you are working with a method, in your vicinity you want what Save reads and manipulates. Any property is shown in a window above the method you are working with. To the right you have a list of methods, and possibly some code, to all methods that are called from the method you are working with and to the left you can see all ways to call your method.
Equally easy to see and navigate to are the parents and descendants of your class.

3 responses so far

A source code editor that isn’t document oriented

Jun 27 2011 Published by under Uncategorized

I say the world is in need of a source code editor that isn’t document oriented.

Today we open a file.  This file typically contains a class and its methods.  One can read the object variables and relations to other classes typically at the top of the document.  The methods are sorted in an alphabetical manner.

Why do we still handle the code like this?

When I work with source code I am more interested in the calls that come in and go out of the method I am looking at.  I am also interested in inheritances and interfaces of the class and both the class’ and the method’s usage throughout the project/solution/world.  I am normally not interested in the method that begins with the same letters.

Some years ago I saw a Java editor that worked with relations instead of source code.
I have recently experimented with Debugger canvas from Microsoft which takes a similar view on debugging.  It is labs and it is, probably, a beta and it is immature and does not hold Microsoft standard yet.  But it is a start.

D0es anyone know of any other tool that handles the source code like we handle it, and not only as files in a folder structure?

No responses yet