The Future of Software Development Technology: Software development will no longer exist, there will be no technology, it will just be. The capabilities of software has limitations, but those limitations are known, everything else is possible. Natural language communication is designed and implemented to be the input of choice. A better editor, one that handles all forms of written, verbal and implied communication. Math equations as written, along with music, chemistry, and all other symbolic written forms of knowledge transfer. Symbolic language pieces (characters) can be used defined. This is important to have technology forever moving forward and improving. Which is to improve communication and to produce a common understanding for everyone. Self Aware Context: The future software is context aware and will adjust itself to any change to its own environment. Instead of state transitions, where all states are predefined and controlled by logic, the future of software is to alter the existing logic whereby no controlling logic is required. Context is able to change but will stay in the same state of execution. This ability permits an infinite number of possibilities with minimum impact to understanding and programmability. For example: take a given state of a "number". We will be able to change the context of the number, from an "Integer" to a "Whole Number" to a "Real Number". For a more complex example: the state of "Compile a text file", we will be able to change the context to handle over seven hundred computer languages. The difference here is that a change of state would be "Compile a COBOL program" now change the state, to "Compiler a C++ program". Where a change of context: The state is "Compile a Program" set the context to "COBOL" and then change the context to "C++". In our current software development technology, "change in state" is rare, and we never have a "change of context". The better technology is to have unlimited use of both, charge of state and change of context transparent to the user and handled completely by Jane. "If you think in terms of a year, plant a seed; if in terms of ten years, plant trees; if in terms of 100 years, teach the people." -- Confucius "Unfortunately, the clock is ticking, the hours are going by.
The past increases, the future recedes. Possibilities decreasing, regrets
mounting." -- "The best way to predict your future is to create it." -- Abraham Lincoln "If stupidity got us into this mess, then why can’t it get us out?" -- Will Rogers "If you want your children to be intelligent, read them fairy tales. If you want them to be more intelligent, read them more fairy tales." -- Albert Einstein |
Taking Advantage of the Computer: The future for software is to have absolute control by the user of every aspect of the hardware. There will be only one computer language. There will only one information format, with no limitations on logic. All personal preferences will be removed from software. Software is to reflect reality, and as such will use the existing terminology and forms of communication. Speed of execution: The computer started at about 2,000 instructions a second (Z2 computer - 1941). This is somewhat faster than a human can perform the same function at about 1 instruction every 5 seconds. Storage Capabilities: The amount of information that can be stored on disk out performs the amount of information the human can accurately store for a longer period of time. Global Sharing of Information and
Resources: Never Sleeps: Common Logic: Much of the future's logic is built into the system, hidden, and automatically applied. No more reading and writing files. No more databases to content with. No more client server technology. No more security issues. As time passes the system will automate more and more of our logic to a point that it can handle all possibilities, removing the need for programming of any kind. Our only job will be to tell the system how we want reality to be handled. We provide the knowledge needed to adjust logic to fit our needs. "Fire at the Klingons", "Drive me to the Office",... No Documentation: The future is to remove all the so called "standards" and remove all the made up terms used to describe vague concepts. The future technologies will have to adjust to the limitations of our spoken languages
context will have to be explicit, and be able to be verified. Humans know context and what to ignore, the computer does not. Providing context will be the "art" part of the future system. |
Accumulative Logic: No longer are applications written, what we have are capabilities and knowledge that is accumulative. These actions are then put together as a functional application. As more logic blocks are added to the system the more powerful is the overall system. At some point, the requirement for customization is no longer required, and the system can run on its own. No more human involvement in the software development process. What goes away first will be "Client Server Technology", next are "Databases", and then "Security issues". These are the first three parts of Jane. No Functions: Without functions the system only loads block of code that are required for any given solution. This improves speed of execution, and greatly reduces the complexity of any given solution. Conclusion: The future single cheap system will have infinite knowledge and infinite logic needed to provide a flawless computing environment.
by: Clif Collins |
||