June 2019
Issue
July 2019 Issue
Collins Software's Newsletter
Aug 2019
Issue
Application Development Part #1:
(Application Independent Data Structures)

Every information structure must be readable, transferable, and stored in an application independent format. This requires that every file, database, and service have no hard coded data structures. This requires that the application that creates an information structures have no control over of the transfer or storage of information.

Access to information and the elimination of version conflicts is critical to any application's life expectancy. The added benefit of not having to be concerned with writing, designing, and testing this major part of the software system, improved application capabilities and reduces the time it take to develop an application.

The removal of version conflicts is handled by the system. This means any data created at any time can still be used by the same application independent of any change to information structure. The same system therefore allows any application to access any information for any purpose "Application Independent Data Structures"  (a 3-dimensional application can use a one, two or four dimensional data structure. Just because I have cinnamon on the shelf does not mean I have to put it in my cake, or if it is missing do I have to stop).

Intelligence: the complete knowledge and understanding of something. The data structure itself requires intelligence of itself, therefore this knowledge will be available to every application that loads the information. Jane will force every data structure to be application independent, transparent to the programming environment.

The benefit of Application Independent Structures is that information will no longer be restricted to a single use proprietary application.


"To find yourself, think for yourself." -- Socrates

"We learn from experience that men never learn anything from experience." -- George Bernard Shaw

"What the world needs is more geniuses with humility; there are so few of us left." -- Oscar Levant

"The greatest enemy of progress is the illusion of knowledge." -- John Young

"Those who do not move, do not notice their chains." -- Rosa Luxemburg

"If you want to truly understand something, try to change it." -- Kurt Lewin

"Children are made readers on the laps of their parents." -- Emilie Buchwald

 

Application Development Part #2
(It Is Different from Software Development)

The effort to build any application is 97% software development and only 3% application development. I have a system that is 100% application development. This means it is a system that reduces application development of years of effort to just a few minutes.

What is "Application Development"? I consider it to be programming using only words and syntax that apply to the real world. For example, when writing an application for a cook, use only words that a cook would use. This means that there is no software development only application development. 

The realm of application development is completely different from software development.  Software development is the creation of software without intelligence. Application development knows everything that has been done before.

A technology might be great in theory but are often abandoned due to lack of understanding, or because of the overhead involved. Application development makes the complex "simple", and the simple "interesting".
 


Software Development Failure:
Just about everything in software development is wrong, from the binary system, hardware instruction sets, numbers, dates, characters, to the concept of logic, the use of functions, to the concept of reusable code. All knowledge about the application and its data structures is in the mind of the human, in documentation, or hard coded into a single implementation of an application. Take any file on your system, such as "a text file";  What is the character set, language, line terminator, content, and so on, none of this information is known. Now go to common files such as an .exe or .dll none of these structures are known outside of documentation or the one application that is "in authority" to define a structure, by the so called "standards gods"

Any two uses or maintenance of any data structure will be wrong. One application can never duplicate the logic of another 100%, too many unknowns. If one tries, then any change by one, immediately invalidates all others (versions). There can never be progress using a single application for logic. Information structures are forced to be Inflexible, therefore they are automatically locked to the original concept for that one application -- no progress.


Decisions:
Are based on information that we have, as well as information we don't have. The information is ordered by importance to render a solution. Given the same facts the outcome might be different.


 

Application Development Part #3:
(Qualified Values)

A Qualified Value is a new structure for Application Development. The ability to describe every application as a single run time or compile time statement. A Qualified Value is a phrase which can be nested with other qualified values. The result is the declaration of all actions and information required for the system to complete a request.

The actions and information of a Qualified Value can come from any source, directly specified, from the executing application, or from any stored location.  The loading actions and resources are on demand, and only loaded when required. 

The namespace of all nested qualified values is flattened. This creates a unique name resolution that is accessible and manageable from any level within a give application.  The namespace is dynamic. for each qualified value resolves its own namespace, and performs all actions independent of the state of the external system.


Application Development Part #4:
(Compile time and Run time Development)
A single language for every type of software and application development.  Speed of development and speed of processing are inversely proportional. To gain more processing speed the runtime logic must be minimized. The system therefore should have the ability to do both equally for every programming request. There should be no restriction on flow control, size limitations, information access, or hardware access.
 


Application Development:
Is to have: Intelligence about all data structures, no versions, no proprietary systems, fix all limitation of software development, no documentation, and finally an accumulative intelligence.


Lack of Knowledge:
Is a good thing. Will Jane make things better, or is ignorance bliss. If everyone has the knowledge to make an atomic bomb... who will control knowledge?
 

Author: Clif Collins

http://CollinsSoftware.com
Houston, Texas
July 1, 2019

email: c1@CollinsSoftware.com