Noctivagous

Ocelot Programming System

The increasing scale and complexity of modern software development should prompt a worldwide movement to advance past the primitive .TXT file format for code. Noctivagous’ Ocelot, a proposed system, starts with the following:

1. XML-based Code Elements

All code elements are encoded in XML. Function definitions, control flow, loops, expressions, and data structures sit inside the file as XML tags:

  • <function></function>
  • <class></class>
  • <loop></loop>
  • etc.

2. Interactive Visual Editor

The visual editor renders these XML blocks into interactive code, allowing for a dynamic user experience.


Advantages of Ocelot

Parseability

XML’s structure simplifies real-time parsing. In addition, the XML specification offers a standardized schema format. As a result, editors can rapidly check the validity of code against a schema.

A Wide-Ranging Impact

Upgrading the interior of code will effect dramatic changes on the exterior. Curly braces and parentheses will no longer be utilized by the programmer to define code containers. Code elements will be inserted and their boundaries will naturally come with them. That is, boundaries for code areas will be implied instead, established by graphical outlines. Of course, this means that the methods of inputting code elements by keyboard will change significantly. In the process, eliminating the use of type for code boundaries will eliminate many problems. Typographic issues of all kinds can be made obsolete: if a keyword or variable name is not entered correctly, the editor will just designate the line as inactive for compilation. Programs will no longer fail to compile due to simple typos.

Navigation

XML’s rapid parsing allows for rendering code in any desired interactive scenario, making large codebases more manageable and navigable. Code can be presented in complex layouts, navigated with interactive tree maps, or edited in XR environments.

Interactivity

Because the code document is structured in XML, it can integrate interactive GUI controls, states, patch-based programming, and rich text with conventional procedural code. Windows, panels, and other complex views can be shown in miniature form next to the object variables that match them.

Legibility

No longer will code exist as a mass of characters. Graphic design will bring software engineering documents' appearance on par with other engineering fields. Whereas schematics are easy to inspect, this new code will be graphically designed, making each code element's role immediately visible.

Advanced Forms of Code

Complex processes such as workflows can be represented as compact diagrams within the code, rather than being written out as text every time. For example, interactions with servers that follow certain protocols can be visualized and edited in workflow containers inside the code itself.

Improved Professionalism

Features for organizing and interacting with code will be formally recognized. The <documentation> tag allows documentation to be inserted separately from the <comment> tag. During testing, a section of code can be disabled inside the editor, a feature that currently requires "commenting out" in most code editors. Breakpoints can be stored inside the code document.