August 2022

Qualifiable Logic:
I use the term "qualifiable logic" to define any logic that is selectable and qualified.

The qualifiers of logic:

  1. What
  2. Where
  3. How
  4. Range
  5. Selection
  6. Order
  7. Storage method
  8. Format requirements
  9. Context
  10. Filters
  11. Events
  12. ...

For example; The SQL statement qualifies the logic for everything you can do with a set of tables.  Our current compilers qualifies logic for everything that can be done to numbers. TBSD qualifiers everything you can do with numbers and tables along with all other terms that will maintained by the system.

For example; The Term "Mailing Address" we  can send, edit, receive, print, derive (street, number, city, state, country, and zip). We can further perform geographic queries, marketing, research, and can qualify the logic on all of its associated parts.

The term "Mailing Address" is not just the value and the access to it, but also all the qualified logic that can be derived from the value. From the street number I can derive the approximate distant from downtown. From zip code I can derive demographics. From state I can derive abortion laws, and so on.


“Well, I can’t put it any more clearly, sir, for it isn’t clear to me.” -- Alice in Wonderland

"It sounded an excellent plan, no doubt, and very neatly and simply arranged: the only difficulty was that she had not the smallest idea how to set about it." -- Alice in Wonderland

"Thinking is the hardest work there is, which is probably the reason why so few engage in it." -- Henry Ford

"My great concern is not whether you have failed, but whether you are content with your failure." --  Abraham Lincoln

"It is better to fail in originality than to succeed in imitation." -- Herman Melville

"The way to get started is to quit talking and begin doing." -- Walt Disney

"To be independent of public opinion is the first formal condition of achieving anything great." -- Georg Wilhelm Friedrich Hegel


 

Term Based Software Development (TBSD):
Our current software development technology is "Number Based". Meaning that software development is based on the manipulation of numbers. Term based software development is the manipulation of terms. Terms are the words and clauses that we already know.

TBSD is a system who's job it is; is to have available qualifiable logic for every known term. TBSD is accumulative, meaning that as each term is added to the system it becomes universally known. TBSD starts with no terms, then we add our first term "Number" and we add its associated qualifiable logic. This get us to the level of our current software development technology. Just like our current technology the TBSD provides the means to perform logic on a number, and groups of numbers. However unlike our current technology, TBSD will add "all" logic associated to the term number. By "all" I mean that the current software development technology only handles about %10 of the logic that can associated to the term "number". TBSD will add the remaining 90%. This means that there is no limitations on the size of a number and that all associated terms that are attached by context and to its use will be added (E.g. units, type, fractions, validation, ranges, ...). Much of this added number logic is at the hardware level to validate number operation's, and for the simplification of the hardware instruction set.

As each term is added to the system it becomes permanent and universally accessible. We begin by adding terms along with their qualifiable logic, starting with terms like the following:

  • Binary structures
  • Hardware
  • Programming Languages
  • ...

Each term has with it all associated logic for every contextual use, along with a set of associated compiler statements which permits access to all of its parts, properties, relationships, logic, and their uses.

objects = objects of gdi32full.dll;
A = objects[0] source code location;
B = test.js function names;
alert(CPU details);

The above statements go far beyond the concepts of a term's normal singular capabilities and their base properties and capabilities in the current software development technology. TBSD also includes all the logic associates with the plural of the terms, (File and Files, Function Name and Function Names). TBSD also permits the adding of knowledge, at any time, to extend a term's capability for the user. Objects in a DLL do not maintain the location of the source code by default. The system permits extending knowledge to any term. This added knowledge can be stored internally or externally to the term's contents. The added knowledge is controlled by the system and is transparent to the user.

 


 

TBSD Knowledge Base:
Associated to all the terms in a TBSD is all that is known relating to each term. This would include all the known lists of things:

  • List of Boy's names
  • List of Political Boundaries
  • List of Chemicals and their Properties
  • List of Files
  • List of Lists
  • List of SI units
  • Parts of a Compiler
  • ...

A is a list of 100 random American boy's names

With near infinite space (16TB drive is $100) we can store near infinite knowledge. As our knowledge grows so do the the number of questions we can ask. So near infinite knowledge means a near number of infinite questions that we can ask.


TBSD compiler (clifcode)
There is only one application in a TBSD. It is a compiler, its responsibility is to handle all terms and their associated knowledge base. The compilers only purpose is to produce qualified logic.  There are no other applications. All the existing compilers are simply terms with their associated knowledge base and qualifiable logic accessible through the compiler. As TBSD progresses, terms will be added, like "Accounting", "Operating System", "Boot Strap", "Procurement", "Air Traffic Control", "Hospital", etc. So basically the dictionary and every actionable and informational clause will be added and fully functional. TBSD is one infinitely large application.
Conclusion:
We write software to manage information. TBSD is software written to manage itself. As we move into the future we need larger applications and software that is 100% reliable.  The current reliability curve is exponential to the size of the application.  Reliability is more than a piece of code that never fails, it is the knowledge that it can never fail, and if it does fail to have the ability to know exactly why.

The system that I am writing is to create a system that is reliable and one that cannot fail. This essentially is accomplished by supplying all the professionally engineered qualifiable logic. We write logic once, spend as much time as required, and move on. This will reduce the cost of software to a minimum charge.


by: Clif Collins