A Marriage of the Editor to the Compiler:
"We are gathered here today to witness the joining of Mr.
Compiler to Miss Editor in marriage. Through their time together, they
have come to realize that their personal dreams, hopes, and aspirations
are more attainable and more meaningful through their combined effort
and mutual support."
Each member of this union has special
gifts, yet one cannot grow without the other. By joining together they
will be remade into something greater than the sum of their individual
By increasing the capabilities of the editor by having a greater
vocabulary will magnify the capabilities of the compiler. Otherwise;
each will be left on their own, as deaf mutes, each will stagnate,
leaving humans to only dream of the unachievable possibilities. By
joining these two entities into a single purpose application design, we
will move toward a more perfect union. The editor gives humans a way to
communicates to the compiler, and the compiler then interrupts this
language into actions that the computer performs.
The existing programming character set is only a very small
representation of human written technology. Once we have the complete
set of known characters, then we will have the ability to write
compilers that can read our human documents. There are many languages
that we use to communicate, all of which have a long history of
development. Math equation representation is just one of many which
first appeared 3500 BC. We should also look at Music (1400 BC), Dance,
Logic, Flow chart, and many others types of symbology, some of them have
been in development for hundreds of years or more.
Having existing, formulized, and permanent editor and compiler
capabilities means that software development efforts become stable and
require far less work.
"By all means marry; if you get a good wife, you’ll become happy;
if you get a bad one, you’ll become a philosopher." -- Socrates
"There is one thing more exasperating than a wife who can cook and
won't, and that's a wife who can't cook and will." -- Robert Frost
"My wife and I were happy for twenty years. Then we met." --
"When a man opens a car door for his wife, it's either a new car
or a new wife." -- Prince Philip
"The power of mathematics is often to change one thing into
another, to change geometry into language." -- Marcus du Sautoy
"The limits of my language means the limits of my world." -- Ludwig
The compiler is limited to the world of 1960 when the first editors
were created to handle the technology of character display and printing.
This was a world of limited memory to display black and white characters
on a 640 by 480 TV screen. Our programming syntax is limited to
the character sets of the 1873 keyboard. The syntax of our
computer languages is a translation of math equations into the synthetic
syntax of FORTRAN (FORmula TRANslation).
The concept of characters
representation in our languages is a late comer. The concept of text was
introduced in FORTRAN-77 by 1980. The concept of text in programming has
yet to be well defined, It remains somewhat of a disaster to the
Programming editors still remain deaf to math expressions, sound,
pictures, graphics, diagrams, dates, fractions, data transfer and data
storage. The concept of a programming language having an awareness of a
compiler is completely foreign, this is a catch-22 situation. The editor
cannot represent a technology, therefore the compiler cannot process it,
and since the compiler does not have these capabilities, the editors
ignores them, a circular void in our technology.
Increasing the knowledge base of the editor and the compiler, the
design is to optimize the benefits for software development:
- Editable characters
- Transportable character representation
- Permanent font types (color, style, ...)
- Relative Placement (sub/superscripts, ...)
- Extended Character Sets
- Hard Control Characters
- Soft Control Characters
Each change is to improve the intelligence of the compiler, and to
give more functionality to the editor.
Editor functionality extensions:
- Natural Math Equation Editing
- Diagram Editing
- Dynamic character fonts
- Forms and Dialogs Editing
- Images and Videos Editing
- All Character Characteristics
- Extended search by characteristic (blue, italic, underline,
power of 2, subscript k...)
The editor needs to support the compiler, not to live in a world of
1873 where we are now. Be brave, move forward where the work of humans
is not limited by the vision of one software developer who's only
concern was an application to send a teletype message.
The characters we type are the means to communicate. Our programming
is based on a 26 character alphabet, 10 numeric characters, and 32
symbolic characters. We have extended this with an artificial
distinction of the case (upper or lower) of the alphabetic character
set. We are limited to the assigned numeric value of the character to
their predefined pictorial representation (fonts).
So we start looking into expanding the current technology. We now ask
the fundamental questions about the existing numeric representation, the
character set organization, and on the limitations imposed by
proprietary font and display capabilities of characters.
We first look at the numeric representation of characters.
There is no purpose to the assignment that will help in application
development. The numeric assignments were all based on application
specific requirements at the time that they were assigned, sometime in
the early 1950. The scope of character encoding schemes (i.e. ISO8859-1
Latin-1) further complicate an already vague numbering scheme, based on
other vague font indexing schemes. In other words character numbering
schemes require external documentation, which means that the editor and
the compiler have no inherent knowledge of characters, only that a
number somehow represents a character (or not).
Next we look at the limitations for the creation of characters by the
application. We are restricted access to fonts, the display logic, and
to their display characteristics. As a developer this immediately limits
my application design options, which means a closed path for future
Next the organization of the numbers of the character
representations. These is no real order to the characters that help in
the development of applications.
Finally we look at the characteristics of the characters themselves.
In programming we have only one characteristic that is available, which
is what we can gleam from the numeric assignment that was used. In the
case of the 26 alphabetic character, whether it represent an upper or
lower case character. In the world of humans this generally has very