Dear Friends,

       Researchers of computer science and software engineering committed huge mistake, such mistake was not committed by researchers of any other scientific or engineering field for past 2000 years. The mistake is: Evolving a complex paradigm of computer science and software engineering for nearly 45 years that resulted in a huge body of knowledge, which is rooted in flawed 48 years old hidden beliefs. Only other example I could find is geocentric paradigm that evolved for 1600 years (rooted in flawed belief “the Earth is static”) and was replaced by heliocentric model nearly 400 years ago.

            It is a monumental mistake to have undocumented or unproven beliefs (or assumptions) at the root (i.e. core) of any body of knowledge of any scientific or engineering discipline. The scientific rules (i.e. processes and principles) were created during the first greatest scientific revolution (i.e. when error at the root of geocentric paradigm was exposed by enduring huge pain and suffering) and the rules has been refined over the centuries to avoid repeating of such kind of shocking mistake again at any cost. Of course, researchers may rely on documented beliefs (or assumptions) for proposing hypothesis to investigate or explore scientific or technological frontiers to discover new facts to expand the body of knowledge, but it is a blatant violation of the scientific process to not documenting any such belief as an assumption.

            Likewise, even a fact (i.e. widely accepted to be self-evident) must be treated as an assumption, until it is proven by documented proof backed by evidence. The proof must be clearly documented and publicly available, so that the proof can be falsified (e.g. any time in the future as technology advances over time), if and when new demonstrable anomaly or contradicting evidence is surfaces or discovered. We all know what happened when mankind relied on a belief “the Earth is static” by considering it to be a self-evident fact. Researchers of no scientific or engineering discipline can afford to repeat such monumental mistake again and again.

           Unfortunately, few experts confuse between these two completely different kind of beliefs or assumptions (1) having (or relying) on documented beliefs or assumptions in (or by) a hypothesis for exploring un-chartered frontiers for expanding the boundaries of body of knowledge, and (2) having and relying on undocumented or unproven beliefs at the very core or root of a mature body of knowledge, which has been evolving for decades or even centuries (e.g. by considering the unproven beliefs to be self-evident facts). It is foolish to justify the second kind of beliefs by referring to the first kind of beliefs.

          Relying on documented beliefs for exploring new un-chartered frontiers is not a violation – it is a proven method for research. But having or relying on undocumented or unproven beliefs at the very core/root and as a foundation of a mature body of knowledge makes the whole body of knowledge flawed and invalid. For example, the whole geocentric paradigm that evolved for 1800 years ended up invalid. Likewise, existing paradigm for CBSD that has been evolving for decades end up useless for achieving real CBD for software products, if the beliefs at its root or core are flawed.

        The basic rules (e.g. processes and principles) for any kind of research to advance any scientific or engineering discipline are devised to prevent this kind of mistake at any cost. The researchers of computer science and software engineering violated even such basic common sense rules by relying on undocumented and unproven (or untested) beliefs, when defining nature and properties for so called software components for CBSD (Component Based Design for Software products).

         The definitions for so called software components or many concepts or aspects of existing CBSD has no basis in reality. But in fact those definitions and concepts are in clear contradiction to the facts and reality we know about the physical components that are capable of achieving the CBD of physical products. For example, almost every expert readily admits the facts that the nature and properties of so called software components are in clear contradiction to the reality. If the beliefs (that lead to such contradictory definitions or concepts) are documented, what are those beliefs? If those 45 years old beliefs are facts, where can I find the proof (e.g. to investigate if the proof can be falsified using latest 21st century knowledge and tools)?

        There are many unproven and undocumented beliefs at the root of software engineering, such as: (i) Many software experts give baseless excuses such as software is different or unique, or (ii) believe that it is impossible to invent real-software-components for achieving real CBD for software, which is equivalent to the CBD of physical products. Is there any proof that it is impossible to achieve such real CBSD? It is impossible to find, if any one ever even tried to verify such baseless beliefs.

         I can demonstrate proof that it is possible to achieve such real CBD for software applications or products. In light of this kind of evidence and examples, it is impossible to find a valid reason, why software products can’t be designed as engineers design and build large one-of-a-kind physical products such as an experimental spacecraft or prototype of a next generation fighter-jet (completely free from spaghetti design/code).

Best Regards,

Raju

More Raju Chiluvuri's questions See All
Similar questions and discussions