Organization of Code:
It's not our lack of logic, rather it's our lack
of organization that sets limits. I want billions of lines of code to
work flawlessly, to achieve this it must be in a system so simple
everyone will know it and it cannot be improved.
The location of a light switch is generally known. The organization
must work this way for billions of lines of code. My system for
although quit easy, took me 38 years to stumble upon.
Yes, knowing the location of code is important, along with what it
does, and its name. My organization goes far beyond this. It has 4 other
major benefits, first it reduces the number of lines of code by 75%,
second it permits infinite expansion, third it promotes perfection, and
forth logic is context sensitive.
A desirable quality of software is doing things in context to improve
understanding. As it turns out this also has a large impact on the
number of lines of code that is needed. I can reduce the number of
lines by 30% just by handling context.
My system does not add lines of code to handle context, just the
reverse, I take out lines and makes logic much simpler.
"It does not matter how slowly you go as long as you do not stop" --
"Strive for continuous improvement, instead of
perfection" -- Kim Collins
Diplomacy is the art of saying 'Nice doggie' until you can find a
rock. -- Will Rogers
It isn't what we don't know that gives us trouble, it's what we
know that ain't so. -- Will Rogers
Get your facts first, then you can distort them as you please.
-- Mark Twain
Ox drawn cart: software development and we are
I have seen the affect of improvements to software after
the first version is released. It is never as good as the original.
When software cannot be modified and a new product is created to
enhance the original, then some capabilities are always left out or poorly
implemented. Code is not modifiable so workarounds are found, or kluges
are written that are not really correct.
where enhancements are poorly implemented. HTML5: just a trial and error
to see what might happen, a never ending kluge. Compilers: one failure
after another. Most of the changes to our environment now take years to
implement, but are really only just a few hours of work. Most logic is
less than 50 lines of code.
Something new everyday, that corrupts past work. So what
is the underlying problem to improvement? In a word "Overhead". It is
that "overhead" code that binds logic and information together that
cannot be modified. The problem is not in the code of the logic. Logic
would be easily modifiable if all overhead were removed, and this is
exactly what I have done. I get a 75% reduction is the number of
lines of code, if I treat logic and information the same and I manage
all the overhead.
I have 80% of the overhead management down to 500 lines
of code, with the remaining 20% overhead management at about 12,000
lines. I hope to get this final number of lines down to 2,000 lines or
less, in this coming year.
Adam is a single software application that can manage billions of
lines of code.
I treat all information and logic the same. Just as the brain must
use a single system to store and recall so must this system. Where
information and logic are stored does not matter, I just want to be able
to store and recall information by name. Expansion without limits.
If we waited for the automobile to be totally
perfected, we would all still be walking. The first car (1768) had
the same design as today, we simply keep perfecting each
Perfection in software is just our ability to improve on something that
Unfortunately with current software technology, we cannot improve the
design of individual components. I know that all code can be improved
(security, speed, capabilities). Improvements in software are never done
in isolation. We must be able to make improvements that ripple
throughout billions of lines of code with absolute certainty to the
impact to the system.
If we change the engine in the first automobile, this affects every
other system such as the brakes, steering, and suspension. So we must
also improve these components to account for the increased speed.
Software is the same, however we are always limited by our ability to
change the other components, so this stops us from making any
improvement to our software. If we do make the changes, they are always
a kluge, or we tell people to never drive over 3 miles an hour.
To achieve perfection in software means that we must have absolute
control over making changes to every part of the system. This is
exactly what my system does.
I deal with the technical and well as with the political, social, and
economic forces that hinder change. Every force that affect change, must
be, and is managed.