The objective of this blog is to provide a simple irrefutable proof, which can be understood even by a high school graduate: Today computer science is a science fiction and software engineering is in crisis, because the software researchers ignored basic scientific processes and continue to abdicate their sacred duty. If one searchers for phrases in Google such as “Is software engineering a real engineering” or “Is computer science a real science”, one can find many articles persuasively arguing that software engineering or computer science are flawed discipline.
Computers science can never become real science and software engineering can never become real engineering until software researchers and scientists discover answer to very basic question “What are the essential properties of ideal physical functional components”. Please kindly allow me prove that computer science is a science fiction, without knowing answers to this kind of primitive facts about basic building blocks.
The answers to the following questions are many times complex than the above question. For example, school teachers are teaching characteristics of plants to 4th graders: http://www.slideshare.net/allsaintsscience/4th-grade-ch-2-lesson-1-what-are-plants-characteristics. Without knowing answer to this question (i.e. such basic characteristics), can the botany be a real science? Discovering “what are the characteristics of the animals” must be at least 25 times more complex than discovering “what are the characteristics of the physical functional components”. Without known answer to this question (i.e. such basic characteristics), can the zoology be a real science?
Any scientific field (e.g. botany, zoology or software) end up as a science fiction, if scientists blindly define essential properties of basic entities (e.g. plants, animals or components for software products) without any basis in reality (by ignoring and in clear contradiction to facts) and try to advance the scientific field by stubbornly relying on the erroneous essential properties of basic entities (or building blocks).
Today no software researcher can name any two essential properties that are uniquely and universally shared by ideal physical functional components. If any expert disagrees, I respectfully challenge him to name such essential properties of ideal physical functional components. Does any scientific field progress without knowing answers to such basic building blocks? Since I already discovered essential characteristics of physical functional components, let me assure that, this answer is far simpler than many other known answers, even school kids consider trivial facts.
Mankind has no problem naming essential properties of millions of physical beings (e.g. elements, molecules, plans, animals or bacteria etc.). Let me provide few more examples: What are the essential properties of atom (or molecule or compound)? What are the essential properties of hydrogen (or oxygen, gold or water)? Answers to such questions are well known and today considered trivial facts. Any scientific field ends up in crisis (or in a paradox), if there are errors in such basic facts.
What is the essential property of Hydrogen? Ans: An atom can be Hydrogen atom if and only if it has just one proton at its nucleolus. What is the essential property of Gold? Ans: An atom can be Gold atom if and only if it has 79 protons at its nucleolus. What is the essential property of Oxygen? Ans: An atom can be Oxygen atom if and only if it has 8 protons at its nucleolus. What is the essential property of Water? Ans: It is made of molecules, where each molecule contains one oxygen atom and 2 hydrogen atoms. What is the essential property of Silicon? Ans: An atom can be Silicon atom if and only if it has 14 protons at its nucleolus. Along with such countless interrelated basic facts, even smart school kids has huge amount of accumulated tacit knowledge.
Any scientific field ends up in dark ages without knowing such basic facts or relying on such unsubstantiated erroneous facts. It is impossible for scientific progress in each of the scientific fields without knowing accurate answers to thousands of such basic facts and accumulated tacit knowledge. Of course, even high school graduates don’t ask, what is a proton or atom, because they already have tacit knowledge about them.
Every mature paradigm results in huge accumulation of such tacit knowledge and deeply entrenched collective conventional wisdom. Unfortunately software engineering has been evolving for few decades (by relying on myths) and now it is a mature paradoxical paradigm having accumulated tacit knowledge and deeply entrenched collective conventional wisdom. In such a mature paradox, the researchers not only learn to accept contradictions but also foolishly justify the contradictions by using silly excuses such as our field is different or unique. Even simple contradictions otherwise obvious errors perceived as trivial facts.
The software researchers erroneously defined many kinds of software components, where each kind of software components is a kind of software parts having certain properties (e.g. reusable or standardized) or conform to a so called component model. These insidious axioms have no basis in reality of facts. The software researchers have been doing research on software components and CBD for more than three to four decades by relying on such baseless myths (i.e. assumed to be proven facts). But the shocking fact is, it is impossible to find any other software researcher ever tried to discover accurate answer to this basic question: “What are the essential properties of ideal physical functional components”.
My objective is to respectfully inform that it is a huge error to not discover the accurate answers for such basic building blocks or facts of computer science and software engineering. Many experts insist it is impossible to discover essential properties of physical functional components for achieving real-CBSD. I vehemently disagree, since we already discovered them. If they are true, they must not have a problem finding a flaw, when some one claims to have discovered essential properties of physical functional components for achieving real-CBSD.
Many other experts erroneously insist that it is impossible to invent software components that are equivalent to the physical functional components (e.g. by having essential properties uniquely and universally shared by each and every physical functional component) for achieving real-CBD for software products, which is logically equivalent to the CBD of physical products and offer comparable or better benefits. I vehemently disagree, since we already secured US-patents for such real-software-components. I can demonstrate countless components and component hierarchies, only if they are not determined to be willfully ignorant.
I have been trying to make many experts aware of possible errors in the basic aspect of software engineering, but unfortunately I hear countless excuses and evasive responses. To answer their questions in good faith, I created so many responses and comprehensive proof for each aspect. It made my website become so big and comprehensive. I created many repetitions of same information for providing irrefutable proof in multiple perspectives due to my eagerness to respond to every excuse by not realizing that some of their snubs are mere evasive tactics.
You can lead a horse to water, but you can't make him drink. What can any one do, if scientists of botany or zoology use evasive excuses such as it is impossible to discover essential properties of plants or animals respectively? This blog provides irrefutable proof that that existing software engineering paradigm evolved by relying on a huge error. I am sure, even a high school graduate should not have problem understanding this simple proof (i.e. that it is a huge error, if even the best software researchers can’t name essential properties that are uniquely and universally shared by each and physical functional-component).
I have been trying to make the software researchers aware of this huge error, but they are pretending to be busy or not seen/heard my emails/calls. You can't wake a person who is pretending to be asleep. Many experts give long lectures about research but do nothing else, which is nothing more than self-promotion and hypocrisy. Any scientist or researcher must be ashamed of himself for not having intellectual curiosity. It is an intellectual dishonesty (or incompetency), if any scientist or researcher refuses to defend facts he is advocating (especially when clear evidence is provided to expose errors in such facts).
Our website contains irrefutable facts and comprehensive proof (e.g. evidence and reasoning) for each and every aspect. I am respectfully offering light of truth that can lead the software engineering way out from software crisis. It is up to each to accept or reject my humble offer. If any one wish to know any clarifications or more evidence (e.g. facts or reasoning), I am not only happy but also eager to provide necessary help in exposing this basic error.
Existing paradoxical paradigm and accumulated tacit knowledge is result of passionate research spanning many decades by erroneously concluding essential properties of components are reusability or standardized etc. Of course, is it any wonder why such error sidetracked technological progress of software engineering? It is impossible to put the scientific and technological progress on right tracks without exposing such basic errors.