May 2022

Programming in Logic Units:
The new technology is to provide qualified logic for every known nown and verb (Logic Units).  Then to have a natural language compiler use these logic units as its basic operations.

To put this into perspective, "Hardware Operations" are "Logic Units" for all modern compilers. The new technology is to provide an infinite number of "Logic Units" tied to an infinity large vocabulary.

Example Assembler: C = A + B

A   real8
B   real8
C   real8
Move A,  R1
Move B,  R2
ADD  R1, R2
Move R3, C

Example ClifCode:   Create a JavaScript Compiler

JavaScript DD
Find system,'Compilers',R1
Find R1,'Scripts',R2
Call R2,'JavaScript',R3
Move R3, JavaScript

This example is over simplified using two Logic Units, instead of the actual ten Logic Units that are explicitly required (parser, engine, emulator, ...)

  1. Find Logic Unit of "Compilers"
  2. Find Compilers' Logic Unit "Scripts"
  3. Call Scripts' for "JavaScript"
  4. Save result to memory

"Success is stumbling from failure to failure with no loss of enthusiasm." -- Winston S. Churchill

"Don't spend time beating on a wall, hoping to transform it into a door." -- Coco Chanel

"Only those who dare to fail greatly can ever achieve greatly." -- Robert F. Kennedy

"Doubt kills more dreams than failure ever will." -- Suzy Kassem

"Failure is only the opportunity to begin again more intelligently." -- Henry Ford

"Ninety-nine percent of the failures come from people who have the habit of making excuses." -- George Washington Carver

"In order to attain the impossible, one must attempt the absurd." -- Miguel de Cervantes

"The whole secret of a successful life is to find out what is one’s destiny to do, and then do it." -- Henry Ford


Where To Now?
To create a new technology we must start with a new foundation. The new foundation is communication.  Our past failure with thinking of the computer as a machine, only understanding and performing operations on numbers. We will have to think of the computer a person, and communicate with it as if it were a person. This person in the computer must understand and know as much as we do, thus making communication easier for us. 

This new technology will only have one language. The computer will understand our vocabulary and all the knowledge that goes along with it. More importantly, humans will also have the same understanding. 

Next in this new technology is the media in which we will perform the communication. This will be an editor that handles all forms of human communication. It will handle all forms of hand written communication. This includes natural languages, math expressions, chemistry expressions, dance, music, hundreds of existing programming languages, and a multitude of hardware control scripts. Communication is as specific as a stop sign, to the meaning of a hand gesture.

To support communication, the new technology will implement all the media formats, transfer and storage that is used in our communication from human to computer, computer to human, computer to computer, and finally human to human.

What's in a Name or Name or Name?:
Natural Language uses a vocabulary that works when the context is understood. The words that we use for the name of things are often confusing. This confusion must be removed when communicating to the computer. An absolute level of understanding is the critical part of every technology.

Part of the solution is, have the computer ask when context is either unknown or when there are multiple choices. This permits the new technology to explicitly define the context.

Now for the really difficult part of the technology is to remove ambiguities from the language. This requires consolidation of terms to a single context. This is the "New Technology", which is to provide explicit context for as many nouns and verbs as possible. This will require more explicit programming terms.


A Dead End Technology:
The software development technology has come to the end of its life time. We have traveled down all the pathways that the current technology supports. We found was that all pathways do not provide any  kind permanent solution.

We have tried hundreds of compilers. We have tried all types of screen input methods. We have tried to enforce standards.  We have tried all kinds of numbering systems, all kinds of document formats, and a boat load of data structures. All complete failures.

It has not been from lack of trying to use the technology, nor the talent employed. It is simply that we are using the wrong technology.

Instead of programming everything as a math equation, we need to be programming in high level logic units. We should have one large name space (a common vocabulary), where all words and terms are known by the compiler, and the compiler provides the context, information, and logic upon request.

As a new technology there will be nothing of the old that will remain.  The computer has capabilities that should be exploited to the fullest: Infinite storage, never forgets, global access, and speed. These are the capabilities which the human does not possess. We need to be taking advantage of what the computer could be doing for us.




by: Clif Collins