Basic Facts of Correctness of Mankind's Scientific Knowledge. There is ... orbits of planets with epicycles) is much better than âthe Earth is static at the centre.
Basic Facts of Correctness of Mankind’s Scientific Knowledge
There is always only one right answer (i.e. absolute Truth) to any scientific question (e.g. nature of physical being and physical phenomenon). For example, there exists only one right answer to the question “which planet is at the centre of our planetary system)? No scientific discipline can be right science or real science, if it is evolved by relying on a wrong answer to basic question – Plain and simple.
“Nature is relentless and unchangeable, and it is indifferent as to whether its hidden reasons and actions are understandable to man or not”… Galileo Galilei
There always exits one and only right answer (i.e. absolute Truth) for nature of any physical being or physical phenomenon, weather right answer (i.e. absolute Truth) known to the mankind or not. The scientific research is nothing but pursuit of absolute Truth. Researchers could discover or propose multiple answers that are very close to absolute Truth (for most practical purposes). When researchers don’t know the absolute Truth, they try to discover answers closer and closer to the absolute Truth to eventually discover the absolute Truth.
There is only one right answer to the questions such as (1) what is the nature (e.g. essential properties) of the physical functional components, or (2) what is the nature (e.g. essential aspects) of the CBD (Component Based Design) for physical products. Each of the software engineering disciplines that evolved by relying on wrong answers to these questions can’t be real science and right engineering.
Of course, many sub-branches of computer science and software engineering could be error free, because those concepts have been evolving without directly or indirectly relying on wrong answers to basic question at the root of respective subbranches. It is foolish to defend wrong sub-branches by quoting concepts from right sub-branches. For example, most of the concepts in sub-branches such as “theory of computation” or “complexity theory” are not relying the answers to above questions. So wrong answers to those questions unlikely to inject any error in those subbranches of computer science and software engineering. Wrong answer to those questions can only inject errors in certain concepts any other sub-branches, only if the concepts are derived by relying either on the wrong answer to those questions or wrong concepts derived relying on the wrong answer to those questions.
Of course, the error injected might be proportional to the degree of dependency on the wrong answer to those questions. If there is a slight error in the answers to the above questions, of course, each of the concepts derived by relying on such answers slightly (i.e. proportionally) deviate from right path. But there are huge errors in the answers answer to those questions. Hence existing software engineering paradigm for CBD (Component Based Design) is fundamentally flawed.
I proposed a new answers, which are substantial improvement and very close to the reality. We are not saying our answers are absolute truths (http://real-softwarecomponents.com). Copernicus’s discovery (the Sun is at the centre and circular orbits of planets with epicycles) is much better than “the Earth is static at the centre (with epicycles)”. The flawed answer put researchers in the right direction, which had
no possibility for course correction. That is, mankind was forced to abandon whose paradigm (i.e. scientific knowledge accumulated for centuries) & start all over again.
The Copernicus’s discovery put researchers in the right path, but it has lot of room for course correction. For example, discoveries of Kepler made few corrections by finding an answer that is closer to absolute truth. Newton discovered scientific explanation and mathematical proof to the physical phenomenon discovered by Kepler. Discoveries of Einstein made minor course corrections (to the discoveries of Newton), which took mankind’s scientific knowledge closer to the absolute Truth.
Existing definitions for software components and CBD for software are fundamentally flawed and completely wrong. Hence CBSE has been progressing in a completely wrong path. It is impossible to correct course. We must abandon the existing paradigm and concepts. We must discover and rely on the right answers to evolve the sub-branch from scratch. Software researchers have no other option. We created hundreds of real-software-components and build real CBD applications by assembling the real-software-components.
We (http://www.pioneer-soft.com) created first ever GUI API, so that anyone (including junior Java developers) can create real-software-components to achieve real CBD for software. Hands on experience in building real-software-components and real CBD applications (by assembling the real-software-components) provide irrefutable proof for the reality of CBD (Component Based Design) and exposes the contradiction with the reality and fundamental errors in the existing definitions & concepts for so called software components & CBD for software.