March 2022

Fixed Word Size: (Bad technology One)
From day one (Assembler) it has plagued software development. Pick the number of bites to represent a number.  It does not work, it never has and it never will. 

See "Ariane 5" rocket failure.  64 bit float to a 16 bit integer failed and destroyed a $450 Million rocket on launch.  See EXCEL one million record limit (was 65 thousand). Every project is sprinkled with limitations, bugs, failures, and user irritations simply due to a 80 year old technology that is not going away.

Jane will implement a variable length integer size. Implemented at the hardware level. We will no longer pick the number of bits for an integer unless we want to.

Character Set: (Bad Technology Two)
ASCII was voted to be 7 bits instead of 8. So we have 128 characters, only 97 displayable. Thus our keyboard, and the resultant text which is symbolic and unreadable. This is due to the "fixed word size"

Jane will not use ASCII, but rather an infinitely large character set (definitely not Unicode). To include control characters and all human languages. English, Russian, German, Math, Music, ... Dance, Chemistry, Art, Cuneiform, Mapping, ...

Units: (Bad Technology Three)
Actually no units. A failure of our technology to assume. To always assume is a terrible failure of our technology.

Jane will allow units on every value. A = 10", B = 120 millimeters, C = A * B in centimeters

Unreadability of Code: (Bad Technology Four)
Text documents are limited to the 1868 typewriter. We have symbolic languages, but cannot use them (math equations,  music English,...). However we are forced to use a symbolic language of a symbolic language. This produces something we cannot read or understand.

Jane will change to an editor to program in all symbolic languages and information structures to be used in a single document to make it readable (i.e. understandable, as well as functional).  Jane will also include all translators to make all information and logic readable by everyone in their own preferred format.

"We all die. The goal isn't to live forever, the goal is to create something that will." -- Chuck Palahniuk

"Cherish those who seek the truth but beware of those who find it" -- Voltaire

"There were two ways to be happy: improve your reality, or lower your expectations" -- Jodi Picoult

"Silence is golden. Duct tape is silver." -- Anonymous

"Quality means doing it right when no one is looking." -- Henry Ford

"Progress is man's ability to complicate simplicity." -- Thor Heyerdahl

"It is not by muscle, speed, or physical dexterity that great things are achieved, but by reflection, force of character, and judgment." -- Cicero


What Is Real Programming?
It is getting the computer to perform an action in the most convenient manner. What is convenient for me is to have the computer already know everything that is capable of doing, then for me to simply ask it to perform one of those actions.

"Jane, build me a system to run my hospital"

We know most, guess at some, and then ask. This is real programming. There is nothing ambiguous in this statement, just qualifiers we did not supply: location, beds, employees?

If this information is already known by the computer, then it does not need to ask. Or I as a human already know that this information will be required, and would supply it as part of the request.

A thought: "Clif make sure to keep the request inside the solution, knowledge is knowledge and should always be kept." How was this created, by who, when, why, ..., what did it replace. Now I can ask to duplicate it anytime to anywhere, or to restore, remove, change, or replace it.

What Then:
Once Jane is built, a system that does all that it is capable of, then what?  The first thing that happens is that humans are no longer having to program, there will be no need.  The next thing that happens is we will have only one high level language. This means that all technologies have a common interface. One that handles all hardware, information and logic requests.

Next is security, here we will have absolute secure systems. Any number of things are possible; A push instead of a pull system. Individual encryption per session.  Unique instruction sets at the hardware level per machine / per user. Unique compilers, Unique value logic, Data separation, Unique vocabularies, ....  The possibilities are endless.

Next is readability of logic based on facts. The facts of real situations. To have the ability to communicate using all existing human, computer, and technology symbolic languages.  This includes, English, German, Math, Chemistry, Dance, Music, FORTRAN, C++, ClifCode, cuneiform, Latin,....

Next is centralized and accessible capabilities.  Instead of every company having to write the same code for the same capabilities.

The interface is a three tiered scripting language. This is a single hybrid compiler divided into three programming environments. Level one is at the hardware level that handles all speed / hardware critical logic. Level two is the language to perform conventional logic. Level 3 is a natural language interface between the human and the bottom two levels.

The three levels of logic are tied together as one system to reduce human involvement, time, and cost in the production of software.

Assumed Results:
Our current software development is based on assumptions. This is due to the limitations of our compilers. On every line of code I write, there is always an assumption on the result. I never have 100% confidence on the result of any statement.  No language should ever be ambiguous.

Our computer language compilers are a complete failure. A failure due to the fact that they give us the ability to add integers, compare integers, and change the flow of instructions. The human is left somehow to represent reality using just these three operations.

What are you buying?
Software is being leveraged to take ownership of your information and even the hardware that you thought you purchased. Software has always been used to hijack your information so that you do not have access to it. Only the vendor of the software has complete access to the information that you should own. This is my objection with a technology that I have devoted my life to, but I do not agree with.

Software should never own the information (or hardware) that it manages. Jane will protect the ownership so that any information handled by Jane is always available.  Jane will not import any information or logic that is not managed by the owner of the hardware.

Clifcode:  (my partner named it this)
It is the scripting language of Jane. Only one robust language is required by Jane. It handles all the capabilities of the hardware and for the management of the hardware, information and logic.

Importing and exporting of other scripting languages is included in Clifcode. All text, spoken, symbolic and binary structures are managed within the Clifcode compiler as the foundation of Jane.

Information and logic is treated the same by Jane. Information is logic, and logic is information, it all depends on context. Jane should never make any kind of assumption of the purpose of logic or of information at any given time.

All failures in software projects do not stem from the people involved, it stems from the foundations of our software development technology. The four main failures are: fixed word length, units, our character set, and readability of code.  There is no way for anyone can bypass or fix these failures, because it is the technology that we use to build all software. I have named only a very few of our technology failures. Most if not all stem from these four basic bad technologies.

The only way forward if to build a totally new technology. We should learn from our mistakes. I have been waiting 48 years for SOMEONE to do something about our software development technology. No one has, so I guess I will do it.

I have glossed over the problems and solutions. Nothing is this simple. It is worse that our current software development technology did not gloss over anything it simply ignores the problems and provides no solution. Poor stupid humans.



by: Clif Collins