Graphical Source Code Editors

6/23/2004 2:15:46 PM

Graphical Source Code Editors

I want to eliminate some confusion in my earlier post about source code editors becoming more graphical. Michael Teper said that I went off the deep end.

By graphical, I don't mean any UML, flow chart or diagrammatic view with drag and drop. It's still a text editor, in the sense the Word or PageMaker or FrontPage is a text editor.

Such graphical editors won't actually appear much different from text editors; they may even look the same as text editors, with some differences.

  • Block orientation. Code will be block oriented rather than line oriented. Think of each code block (preceded and followed by a curly brace) as behaving like a table cell. Navigating out of a block may done through cursor keys. In this situation, a block would alway have a ending curly brace, even if the curly braces don't show. When a block is created, it exists in full form, not like the situation in regular text editing where an open brace may not have yet been closed by an ending brace; this is because the block exists as a fully constructed object in memory, which is being rendered in the view.
public class Program
int main (string[] args)
Console.Write("Hello world");
return 0;

  • Dynamic code formatting. No more worries about indentation, semicolons, etc.
  • Optimized presentation.  The expression 1/2 may display vertical in fractional form.

This article on SCID explains the concept much better than I could.

The best parallel of this is HTML editing, which can have both a design and a code view, except that HTML was always intended for presentation. Design mode is the graphical view, and it always produces syntactically correct HTML. It also provides higher-level services, and, by changing the CSS it refers to, one can actually change the appears of HTML in design mode.

Comments

 

Navigation

Categories

About

SoftPerson develops innovative new desktop software applications by incorporating artificial intelligence and natural language technologies to bring human-like intelligence to everyday applications.

Social Media