Every software book and research paper on so called software components has been promoting a lie for past 50 years such as "reusable software parts are components for software". The CBD/CBE (Component Based Design, Development or Engineering) for software is defined is using such fake components. Please see attached PDF for more details.
Isn’t it an obvious lie considering this objective reality: The real components used for designing and building large physical products such as airplanes, machines, factory equipment, cars or computers, where each of the product is built by assembling the components. Each of the components is designed to be “assembled” (so that it can be disassembled and re-assembled), and in fact the component is most likely custom designed to fit just one product model, so it is unlikely be reusable or standardized to be reusable across multiple product models or product families.
I have been struggling to explain my inventions rooted in my accidental discoveries in simple laymen terms. I have been facing a huge hostile resistance when trying to expose Facts to prove this: Almost everything in the software books for so called components and research papers about the so-called software components in the context of real CBD/CBE (Component Based Design, Development or Engineering) for software is fiction and/or illusion.
What I am saying may perceive to be arrogant, disrespectful or feel offended. But it is a fact and I am determined to make the software world aware and accept the fact. If I insist that books on botany of zoology are nothing more than fiction and pure imagination or fantasy filled with lies having no basis in reality/fact, I am sure it would offend the scientists or researchers of respective scientific disciplines. But to prove that I am right, all I must do is to document and demonstrate the reality/fact (i.e. simple or obvious observable facts about the animals or trees) to expose the lies.
If all the books and research papers say dolphins lay eggs, if I disagree, I must be allowed to expose such lie by showing proof that dolphins give birth to babies. As a researcher, it is my moral duty and ethical obligation to expose such lies by showing conclusive evidence. It is an ethical obligation of every other researcher to investigate the evidence. I am sure anyone would agree that, no real scientist would defend such lies, if the lies contradict obvious observable facts about the animals or trees. How would you feel, if they insist that the reality must be ignored by insisting that is how researchers or scientists of a scientific discipline have been acquiring the BoK (Body of Knowledge) in the books since the infancy of the discipline?
The authentic source for such knowledge is observing the dolphins (but not the books). If there is a dispute about an information or fact such as an essential nature such as property of the components, unfortunately today no software expert in the world agreed to go out and observe the authentic source – the components. If there is a dispute about a fact such as weather dolphins give birth to babies or deliver eggs, to resolve the dispute the real scientists would go out and observe the authentic source – the Dolphins.
This is what software researchers and experts have been doing: If you take him to sea to prove that the dolphins are delivering babies, after confirming by observing thousands of dolphins delivering babies, what kind of sane scientist or researcher insists that the dolphins are doing it wrong? They are saying that the dolphins are not supposed to deliver babies (they must be delivering eggs), because every book and research paper is saying so.
No real scientist would be offended, if I request that we must go out and discover the reality (by observing the dolphins) to resolve such disagreement of basic facts. In fact, I should be offended, if he snubs or insults me by saying that the reality doesn’t matter or irrelevant. It is unethical, if any one resort to insults or personal attacks to keep me quite from saying such Truth.
The reality is: components are very special kind parts that can be assembled. Even after seeing conclusive proof, many software researchers have been insisting that reusable parts (that can never be assembled) are components and insisting that using such fake components is CBE/CBD, because all the software books and research publications on CBD/CBE for software have been saying so.
Even it is impossible to believe all the text books are fiction, researchers must accept the obvious or observable reality. If the software researchers observe the components, they have no option but concede that everything in the software books and research papers about the so-called software components (in the context of CBD/CBE) is fiction (or lies). But today software researchers are refusing to go out and observe the authentic source (the components), reality and empirical evidence.
Is it necessary for real components to be either reusable or standardized as the CBD/CBE books and research papers have been brainwashing everyone (from the time each of us were impressionable students)? Unfortunately, the components can’t read the software books to know that they are doing it wrong by not following what is in the books or research papers (e.g. expect the components to be doing).
The reality is 90% of large components are custom designed to fit just one product model: What is the nature and essential properties of the components, particularly in case of designing and development of large or complex one of a kind product such as prototype of an experimental spacecraft or fully tested pre-production next generation jet fighters? What percent of components are reusable? What is the percent of components that are standardized (or satisfy the properties attributed to the so called software components)? What is the percent of components that are “assembled”?
For example, let’s consider an average product: What is the percent of core components (e.g. engine, gearbox or power-train) in Toyota Camry that are reusable across product models such as Corolla or Avalon? Each of the core components are “assembled”, because each core components is most likely custom designed for a given product model (so unlikely to be either reusable or standardized).
Are all these custom design components are doing it wrong? Don’t they know what they supposed to be doing? Design, development and/or engineering of each such product (by using such components, which can be assembled but are not reusable) is not CBD/CBE, because every book on CBD/CBE is saying so. For example, if I say that any part that can’t be assembled (but forced to be composed) is unlikely to be a real-component, one can prove me wrong by showing average components that can’t be assembled, so have no other choice but to compose. Instead software researchers insist that the objective reality is irrelevant.
The reality is that larger parts that can be assembled are known as the components. Such components (that are assembled) are very useful is under statement. The fact is, such large components (that are assembled) are the backbone or lifeblood of the modern industrial world.
The observable facts are foundation to our knowledge. The theories are used to provide logical reasoning to explain the observable facts. Software researchers are doing it wrong: How does dolphins give birth? Weather dolphins deliver babies or lay eggs? The fact is dolphins deliver babies. It would have no effect, even if every text book or research paper on dolphins say that dolphins deliver eggs.
What is the essential property of the components? Weather is it “reusable” or “assembled”? The observable fact is that components are “assembled” (while only a small percent of large core components are reusable). Unfortunately, every software text book, research paper says components are “reusable” (or large reusable parts are defined as components).