Definition of WYSIWYG
WYSIWYG is an acronym for What You See is What You Get. That applies to text and presentation editing tools that allow you to edit content directly in the form that will be displayed to end users and not by typing an internal code.
For example, Dreamweaver or Kompozer are WYSIWYG Web pages editors as opposed to older editors with which the code HTML of tags must be typed.
These editors can still display the HTML source code and we can directly enter the code into the source if needed. This is rarely the case of word processors.
WYSIWYG text sample:
Scriptol.com
And the HTML source code:
<a href="https://www.scriptol.com/" target="_top">Scriptol.com</a>
Some CMS require that you enter the post in coded form, in BBCode for example, others include a WYSIWYG editor.
Same text in BBCode:
[url=https://www.scriptol.com/]Scriptol.com[/url]
Are there equivalents of a WYSIWYG mode for programs?
Can we apply WYSIWYG to programming?
Several techniques are aimed to meet the objective of providing a more intuitive visual presentation of a program.
IDEs use visual tools to create interfaces from components that are assembled and which generate the source code.
UML (Unified Modeling Language) as the name suggests is another way to model the program and pass from a visual presentation to a compilable code.
But the oldest is the flow chart. We can modernize it by a diagram of objects and their interactions with messages they send, as shown below.
It could embed flow charts for the methods of objects.
A perfect representation, not schematic, of a program would the display of the application during operation. Therefore develop a program interactively at the same time it is running.
This is something that can be done with an IDE as LightTable, which has a rendering engine integrated (Chromium) and allows you to edit a program during its execution while seeing the changes displayed, without the need to reload anything.
See also...
- Tools to build web pages. Online or on the desktop.
- How use TinyMCE to edit on line static pages.