In real science, anything not having conclusive proof must be considered as no more than an assumption. A real proof requires irrefutable rational reasoning backed by predictable and repeatable empirical evidence.
The root cause of one of the most famous scientific crisis resulted from evolving mankind’s knowledge by relying on flawed untested assumption ‘the Earth is static at the centre’. This axiom or postulation was considered self-evident fact needs no proof. No one considered that it is an assumption and no one consciously aware (and could have named it ) that this axiom was at the root of mankind’s perception of reality (i.e. About 500 years ago, this reality was a complex paradoxical paradigm comprising countless concepts backed by meticulously documented retrograde motions and epicycles constructed for over 1000 years).
Of course, root cause was untested and unproven axiom “The Earth Was Static at the Centre”, which was widely accepted as self-evident Truth 2000 years ago. Can this kind of thing happen in 21st century? Of course, I am sure there could be other such scientific crises in existence even in 21st century? Many experts feel that this kind of thing can’t happen today, because mankind’s scientific knowledge, processes and expertise advanced substantially during past 500 years. I disagree.
I discovered such root cause for scientific crisis in the field of computer science. An important sub-field of computer science is CBSE (Component Based Software Engineering). At the root of CBSE there exists such axioms or postulations, which were considered self-evident Truths 50 years ago (so required no proof or even documenting for future generations to know for validation). That is, 50 years back software researchers assumed that it is impossible to invent real-software-components equivalent to the physical functional components for achieving real CBSD (Component Based Software Design for Software Products), where real CBSD must be equivalent to the CBD of physical products (e.g. one–of-a-kind experimental jet fighter or prototype of a spacecraft).
It was a reasonable assumption when leading edge programming languages were assembly languages and FORTRAN. Structured programming languages were a distant dream. Things like Object-Oriented Programming languages and GUI components (that are more conducive for real-CBSD) were beyond imagination. So they started using the term ‘software components’ as an alias to useful software parts. In other words, they defined each kind of software components is a kind software parts either having certain useful properties (e.g. reusable or standardised) or conform to a so called software model.
Today no one even aware of the root cause (e.g. axioms) for such definitions for software components. Today if you ask any one, why do we need many different and strange descriptions for software components and CBD for software products, they give excuses such as software is unique and/or different, without giving any proof or justification for why and what manner software design is deferent from the design of one–of-a-kind products such as experimental jet fighter or prototype of a spacecraft.
Why can’t we invent software components that are equivalent to the physical functional components for achieving real CBSD, where real CBSD is equivalent to the physical products?
To invent real software components (that are equivalent to the physical functional components) requires discovering (i) accurate description for the physical functional components and (ii) accurate description CBD of physical products (e.g. for achieving the real CBSD that is equivalent to the CBD of physical products). Best way for defining an accurate description for any physical being (e.g. a specie) is by finding a set of essential properties uniquely and universally shared by each and every specimen belong to the specie (e.g. to positively identify each of the specimen, weather the specimen belongs the specie or not). Likewise, accurate description for CBD of physical products requires finding essential aspects uniquely and universally shared the CBD of each and every known physical product.
Many experts come up with strange excuses, when I ask why we can’t invent that software components that are equivalent to the physical functional components by discovering the essential properties of the physical functional components. Mankind’s scientific knowledge comprises accurate descriptions for countless complex and physical beings or species that are 20 time more complex than physical functional components, such as in fields ranging from biology, zoology or scientific discipline of microbiology such as virology, mycology, parasitology, and bacteriology. They insist that it is impossible to find such essential properties for physical functional components, without ever trying or showing any evidence that any one ever tried.
If one deeply investigates the root cause of each of the scientific crises, he end up finding a hidden flawed axiom at its root, which in past considered self-evident truth and no one ever tried to validate. Seeds for a scientific crisis would be sowed when researchers pick an axiom based on their senses or instincts, without either documenting or finding valid scientific proof. Mankind followed their collective senses, when they assumed that the Earth is static. Researchers followed their then collective instinct, when they defined each kind of useful software parts are a kind of software components. It was beyond their wildest imagination 50 years ago that it might be possible to invent software components that are equivalent to the physical functional components for achieving real-CBSD, where real-CBSD is equivalent the CBD of physical products. Even structured programming was distant possibility 50 years ago and Object oriented programming and GUI library was not even contemplated.
This paper provides the root causes for any scientific crisis. This also provided a proof that kind of error could possible even in the 21st century. It is the responsibility of the research community to investigate the Truth, if any lone researchers discovers a root axiom and no one can find any evidence that the root axiom was validated. Insulting or snubbing the lone researcher for questioning the validity of such axioms is not called for and unbecoming of a scientist or researcher. In real science, no axiom is self-evident Truth until the axiom is tested and validated.
Who discovered that ‘’the Earth is static’? Ans: No one. There is no proof and no one tried to proof it. Who discovered that the Sun is at the centre? Ans: Copernicus. Who discovered any kind of useful parts is a kind of component? And: No One. They why researchers have been blindly defending the so called software components?
P.S: More about it at: https://www.researchgate.net/publication/280803360_What_is_this_thing_called_Science_What_is_real_science_any_way