Saturday, February 22, 2014

A simple proof for high school graduates: Software engineering is in crisis because software researchers abdicated sacred duty and ignored basic scientific processes.


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.


Monday, February 10, 2014

Scientific research for disruptive discoveries need ruthless pursuit of Truth/Facts, even if it appears or perceived to be arrogant or disrespectful.


The sacred shared duty of each and every researcher or scientist is pursuit of absolute truth (or facts). Any researcher or scientist must be ashamed of assuming or believing oneself a researcher or scientist, if one either doesn’t know the shared sacred duty or ignore/evade the shared sacred duty (e.g. denying facts by using silly baseless excuses). The scientific and technological progress is nothing but expanding boundaries of human knowledge by discovering objective facts (or truths).

Please allow me to provide few examples: Scientific research in chemistry is discovering, studying, organizing the knowledge and cataloging properties of elements, compounds or chemicals. The botany is discovering, studying, organizing the knowledge and cataloging properties of plants. The zoology is discovering, studying, organizing the knowledge and cataloging properties of animals. The scientific progress in each of the above scientific fields is nothing but discovering new facts for expanding human knowledge.

Unfortunately most software researchers argue, it is impossible to find essential properties of physical components. If this is true, the entire scientific progress we made in each of the basic fields is wrong and nothing mankind invented and built by relying on the scientific discoveries could work. Why can’t any one make same argument for each of the basic sciences (e.g. chemistry, botany or zoology)? How could any of the basic sciences (e.g. chemistry, botany or zoology) exists, if this argument is true?

The purpose of scientific research is discovering relevant facts for expanding the human knowledge. The basic effort and purpose of engineering research is to invent useful things by rely on a “set of core or necessary facts” discovered in the scientific research. None of the useful invention we are using everyday and take it for granted could ever work, if there are errors in the “set of core or necessary facts”.

About 45 years ago software researchers blindly defined properties of components without any basis in reality or facts. Over time those unsubstantiated assumptions became axioms (assumed to be de facto Truths). No one ever either questioned their validity or even suspected possible errors in the unsubstantiated axiomatic assumptions. In spite of effort spanning four decades by millions of researchers, engineers and experts no breakthrough invention or even meaningful progress is made in CBSD, because they have been relying on myths (i.e. unsubstantiated axioms assuming to be de facto Truths). Isn’t failure expected outcome of any research, if there are errors in “essential set of facts”?

What are the “core or essential set of facts” for inventing real software components and CBD for software? Is it impossible to discover essential properties uniquely and universally shared by each every physical functional component? If it were true, I respectfully challenge to find a flaw in the essential properties discover and proposed (in our website)? Why any expert should have any problem finding a flaw in the essential properties proposed (in our website), if it is impossible to discover the essential properties?

Is it wrong if I demand any researcher or scientist to finding a flaw in my discoveries (e.g. essential properties of components and essential aspects of CBSD) proposed in our website, if he uses either baseless excuses (e.g. software is different or unique) or argue that it is impossible to discover essential properties of physical components?

As a scientist, one must ruthlessly peruse facts and truth. For example, he has no need to explain financial implications. He should not be overly concern with egos of respected scientists (as long as he meant no disrespect and his objective is only to firmly and respectfully state facts). It sounds or perceived to be arrogant and disrespectful, when any one say I am right and every one else is wrong. But when it is the case, how any one can politely or humbly but firmly request for an opportunity form respected researchers to demonstrate proof.

I am sure it would hurt egos of some researchers, but competent researchers know that it is justified (if they can’t find any flaw in the proposed inventions and discoveries). I am sure any good scientist or researcher would appreciate such humble effort to force him/her to see the facts, reason and light of truth (especially when the facts end up saving his and others from wasting their passionate effort for advancing technology by relying on erroneous facts). I have utmost respect for respected researchers and I meant no disrespect. Unfortunately stating certain kinds of facts appears or perceived to be arrogant and disrespectful, and I humbly state that I meant no disrespect.

Unfortunately few irrational skeptics try to sidetrack the debate by demanding financial implications or usefulness of the discoveries. The truth is the God in the religion of science and ruthlessly perusing the Truth is the best way to practice religion of science. No one could have named tangible financial benefits, if one demands 500 years ago what difference it would make by proving the fact (e.g. the Sun is at the center)? But now we answer that question: The mankind would still be in Dark Age, if that fact is not yet discovered. How could Newton discover and propose Gravity without Kepler’s laws?

For example, now there is a debate raging about the very existence (or “nature of black holes”) after Stephen Hawking changed his mind and proposed a new theory to solve a paradox surrounding the fundamental building blocks of how the universe works. Mankind can never see a black hole and countless aspects are unknown and can’t be predicted with any certainty. All the theories are at best educated guesses based on very little information or at worst pure speculation. Why should we care about the “nature of black holes”? What tangible benefits it can have on world economy.

This is true for any basic research. What difference it makes, if dinosaurs were extinct due to collision of meteor or wiped out by a killer virus? Why governments investing billions on basic scientific research and building expensive research equipment and facilities (e.g. CERN’s Super Collider). It is impossible to provide a concrete answer, except saying, without ruthless pursuit of truth/facts mankind would still be in the dark ages. And history taught us valuable lesions that, ruthless pursuit of truth/facts is the only way for advancing science and technology. Even if truth has no apparent value at that time, erroneous facts certainly have huge costs, if researchers try to advance technology by relying on erroneous facts. For example, the software researchers wasted three decades by relying on erroneous axioms (by assuming to be facts). Exposing errors in such deeply entrenched erroneous axioms resulted in scientific revolution far greater than most of the great discoveries (Ref: Famous Book “The Structure of the Scientific Revolutions” by Dr. Kuhn).

Is the essential properties of functional physical components and CBD of physical products are as mysterious as black holes? Why software researchers even today relying on at best educated guesses (by ignoring all the known facts and observations) or at worst pure speculation made 45 years ago? If one asks 10 CBSE experts to accurately describe (e.g. to name just one essential property universally shared by) the physical components, we get 10 different accurate descriptions. Even black holes have fewer theories, and scientists readily admit that the theories are not facts, but just popular paths selected for finding the Truth. Unfortunately the CBSE experts believe their definitions are facts, so they see no need for validation or accept dissent.  Only the God has more mysterious definitions than the components, as if no one alive ever seen a physical component or CBD.

The software researchers have been relying on unsubstantiated axiomatic assumptions for inventing components/CBD, by concluding the axiomatic assumptions are facts (yet no one ever even tried to provide any evidence to show they are facts). On the other hand, there is overwhelming evidence that the axiomatic assumptions are erroneous in light of known facts and observations about physical-components and CBD. I meant no disrespect, whenever I firmly state fact (for which, if I can provide an irrefutable proof, if given opportunity).

Can any one defend their baseless silly excuse (i.e. it is impossible to discover essential properties of physical components) by naming even a single physical being mankind failed to discover accurate description (i.e. essential properties), after trying harder at least for few months and knowing as much as mankind knows about physical components. Of course, mankind has been trying to discover internal structure of elementary particles (e.g. neutrons, protons or electrons) by using string-theory or structure of unversed by using big-bang-theory for years and not yet successful, because we have very little information and know almost nothing about them. No one else is foolish enough to waste effort by relying on such unproven theories (by assuming that they are facts) for making useful inventions.

Mankind never failed to find accurate description (e.g. essential properties) for any physical being that can be seen, touched and abundantly found as the components.  Mankind discovered properties of countless things (e.g. electrons, hydrogen, bacteria or genes) we can’t even see or touch.  For example, the basic sciences such as physics, chemistry, botany and zoology discovered millions of facts (e.g. including accurate descriptions and essential properties) and made millions of successful inventions by relying on the facts. Since all these inventions are working, it proves that the facts are sufficiently accurate (within acceptable engineering tolerance). Unfortunately software researchers stubbornly using silly excuses and refusing to even try discovering essential properties of the physical components. With all due respect, I humbly state that this is not acceptable behavior for any scientist or researcher, if he assumes that he is a scientist or researcher and believes that he is doing real research.