| Jan 2026 Issue |
May 2026 Issue |
|
Division of Labor: With a BS in CS and over fifty years experience in software development, I just now found the fatal flaw in software development. Which is the design of our computer language compilers. The design methodology of treating data and logic in one language. This ties all data created by an application forever to one application. This can be seen in our use of the HTML data structure which is forever tied to one browser application (Chromium or Safari). HTML is designed to be useless for any other purpose (to draw lines, text, and images). HTML is designed purposely to be application dependent. The same can be said for all other applications we create with today's compilers. But what will happen if I divide the technology of data from logic, for all applications? This newsletter will hint at a new technology that does just that, and what this will mean for the future of software development. What it will mean is that all data will be version, application, operating system, hardware, and time independent. The Start of the Computer Technology: Adam Smith in 1776 published "The Wealth of Nations" which he describes the purpose and benefit of a specialize labor force. This concept was read by Baron de Prony twenty years later and he used this concept to program human computers. Whereby he divided complex math expressions into 5 basic specialized units of work (Addition , Subtraction, Division, Multiplication, and Table Lookup (sin, cos ,...). He then created a work sheet for each operation, and had human computers perform just one type of operation (i.e. a 3 column data sheet for the of action "addition": 2 numbers, and one column for the result). This improved speed, verification, reliability, and cost dramatically. Charles Babbage, visited the Baron and designed his mechanical computer on the Baron's design of opcodes. Which is exactly the same design of our current computers. Babbage also visited Michel-Marie Carquillat, the maker of the Jacquard loom that used punch cards to control the pattern of the weave. Babbage then used punch cards to write his programs on. "Labor gives birth to ideas." -- Jim Rohn "Dignify and glorify common labor. It is at the bottom of life that we must begin, not at the top." -- Booker T. Washington "What does reason know? Reason only knows what it has succeeded in learning..." -- Fyodor Dostoevsky "The clever explain later" -- Abyssino "Data is always an orphan, with no mother named Logic, and no father named Purpose" -- clif "On matters of style, swim with the current, on matters of principle, stand like a rock." -- Thomas Jefferson "A common man marvels at uncommon things. A wise man marvels at the commonplace." -- Confucius |
|
A Division of Labor Technology A division of labor for the declaration of data physically and logically separated from the source code of logic. This means that from now on we have two unique scripting languages, one for logic and one for all external data representations that is not in the physical memory of an application. All data in an application's memory is transformed into a text representation that is: operating system, hardware, and application independent. The data scripting language can be build manually or automatically by an application. Once created the data scripting language will reproduce an exact copy of the original application's memory structure. This includes the casting of the data structure to its intended group of logic functions (Class: obsolete term). Human involvement is no longer required to program the storage, formatting, or transport of any data structure. All binary files that now exist will be formatted in their data language (text) representation. All executables will be delivered in data language format, permitting operating system and hardware independent applications. What is an Application*: Is any hardware device that imports or exports data of any kind. Examples of an application are the CPU, mouse, disk drive, monitor, and camera. Forward and Backward Compatible Data: If data explains itself to the application, then the application's logic does not play any part in the structure of the data. With the advent of a data compiler, the author can qualify the data to a point where it will have the maximum benefit to all parties that use the information. The understanding of data by an application remains the same over time. Data will never be directly created or managed by the application itself. Any data script can be modified at any time, but it will never affect the logic in any way. Break Source code Into Two Compilers: A logic compiler (FORTRAN, C, Java,...) generates CPU hardware instructions which tells the CPU hardware device what number operations to perform. Types of Statements: Assign, Conditional,
Branch, and Declare A data compiler generates software instructions which instructs an application on how to handle the information given to it. Type of Statements: Declare, Conditional, Location, Lookup, Assign, Format, Orientation, Offset, Base, Mapping, Association, Record, Movement, Ownership, Index, Syntax, Organization, Domain, Classification, Relationship, Partitions, Display, Context, Security, License, and Casting.
|
Data Knowledge: All data that is imported or exported by an application (see: What is an application*) is always formatted as a data script (text formatted). Human FORMS ==> Computer Data Structure: A data software language [form] is for the declaration and assignment of information that is provided to logic to be processed. Data is independent of hardware, operating systems, personal preferences of one developer. Data is to have the ability to be used for any purpose. A data description language is just one of many languages that will be maintained by Jane. When going to the doctor's office you fill out a form. Performing field inventory of a power distribution system is done using a form. Writing a computer language (FORTRAN, C#, Python, ...) is a form (of a kind) for writing an application. There is sheet music and math expressions that are examples of technology specific forms. All forms are the human representations of a computer's memory structure. The data scripting language is to represent all data input forms. The concept of a form will extend to all existing and future representations. Text representations of URL, Units, Currency, Email Address, mailing Address, Time, Date, Name, Price, are considered a form by Jane, and are handled accordingly. As time goes by new common and user specific forms will be added to the system. It is critical that all applications deal with forms in an identical manner, therefore parsing of a form is defined within the data scripting language. Conclusion: Data has nothing to do with logic. Having static predefined logic tied to proprietary data structures is the worst possible technology. So I have created a separate language for all information. Placing all data related knowledge about the data as part of the data. This way 98% of all logic (and the work) is automatically created from the data itself. By having independent data, all data (files) on your system can be edited, browsed, shared, logic applied, and modified for any purpose at any time by anyone. Something to think about: Logic never changes. Data's structure can but is independent of logic. If logic is improved or new capabilities are introduced then the structure of logic and data is maintained as independent units. |