Except software products, no
other product created by using components has spaghetti design. There is no
valid reason, why software alone must be burdened with spaghetti design/code. This
document/page
provides 3-page summary about the reality about the CBD (Component Based
Design). The 3 minute video gives just an example of reality of CBD. Each year
mankind is building 100s of such new kind of products. Software experts use baseless
excuses such as software is unique and different, without any valid
justification for why and what manner it is unique/different.
Each and every component of
such physical products is being constantly and frequently redesigned without
being burdened by spaghetti code/design. Any component can be disassembled to
refine and test individually to satisfy exact needs and fit perfectly by
performing as expected. Engineer of any component is not forced to see even a
single line of internal code implemented for any other component. Over 90% of
the physical product is free from spaghetti code, since 90% of features and
functionality is implemented in such custom individual components. This is the well-known
and obvious reality of the design of any large physical products.
Researchers and scientists has an obligation
to know the Truth about reality. In fact, it is their sacred duty, because the very
purpose of scientific research is pursuit of absolute truth. Existing software
engineering paradigm is rooted in fundamentally flawed assumptions “the reusable
software parts/modules are components” or “any kind of useful software part is
a kind of a component”. It has no basis in reality. In fact, most fact or concepts
for CBD for software contradicts countless facts or concepts we know about the reality
of physical functional components & CBD of physical products.
Who
invented or discovered this kind definitions for components or CBD? Who tested
or validated it? No one knowns. No one can give names or documentation for
proof. I can’t find answers to these basic questions, even after being in this
industry for 30 years, of which 15 years doing research on components and CBD. The
existing paradigm for software engineering has been evolving for 50 years by
relying on such untested assumptions by considering the assumptions as self-evident
truths.
This
paradigm is not much different from geocentric paradigm existed until 500 years
ago. No one could name, who discovered “the Earth is static at the centre” and “who
proved this”. They assumed that “the Earth is static” is a self-evident truth,
which needs no proof. On the other hand, we don’t need a Ph.D or MS to answer
these simple questions: Even a school kid knows, who discovered “the sun is at
the centre”.
Who proved this Truth? Many science
college graduates may say newton’s discoveries of laws or motion, universal gravity
and invention of calculous conclusively proved this fact. The invention of calculous
allowed providing mathematical proof. Later we found many discoveries independently
and repeatedly confirmed this Truth. For example, to name one: The observation
of perturbation in the Orbit of Uranus lead to suspicion of existence of
another planet and lead to the discovery of Neptune.
The most important thing now is,
not proof alone but mankind found no evidence to contradict this Truth (i.e.
the Sun is at the centre). In the basic sciences every basic Truth is
discovered by someone (whose name/names is widely known) and the Truth is provide
beyond any reasonable doubt, where the proof is also widely known. Any evidence
to contradict the Truth or Proof would be documented and investigated until it
reaches a logical conclusion. Without this kind well documented proof, no one
would blindly rely on any unproven Truth for advancing our knowledge.
Computer science is in crisis
because researchers sheepishly and blindly relying on wishful thinking and fantasy
proposed 50 years ago (e.g. at a 1968 NASA conference) – building software by
assembling COTS (Commercially Off The Shelf) parts from 3rd party component
vendors. They assumed that it is a self-evident truth, which needs no proof. Some
people named it Software-ICs (i.e. analogues to ICs that are used for building
computers or cell-phones). It is just nothing but a 21st century alchemy.
No one can name, who discovered the nature of components and who proved it. No documentation
can be found for any kind of proof or evidence. These flawed axioms deeply
entrenched into our collective consciousness over 50 years.
Software researchers become
slaves of their prejudices. They lost their integrity and have no courage to
face the truth, plain and simple. They are blocking the progress of knowledge.
As if this is not bad enough, they helped create the conditions for the establishment
of a brainwashed and intolerant society that is hostile to freedom of thought.
In short, establishing a dictatorship over minds against common sense and
obvious reality. The above are harsh words, but undeniable Truths. The research
community abdicated their sacred duty. They created a hostile situation by
making it impossible to even express Truth freely and openly. Today, pioneer-soft.com
created a GUI-API and tools that even a fresh software graduate can create real-software-components
for achieving real CBD for software (having 0% spaghetti code). Many researchers
refuse to see such empirical evidence, by demanding non-existing references
such as research papers or text books. Where could anyone find reference to heliocentric
model 500 years ago? Only way is to see empirical evidence.
Many researchers in medical field
want a vaccine to prevent cancer – is it a discovery or wishful thinking? Many scientist
in physics want to invent cold-fusion – It is not a discovery but just a desire.
Only way to realize this wish is by making necessary scientific discoveries, but
not by making up laws of nature without any basis in reality. Few software researchers
50 years ago wanted to invent components, such that, software developers can
build software by assembling prefabricated reusable software components – this is
not a discovery but a desire. It is not hard to prove that the desire is a
fantasy no different from alchemy in the dark ages. They choose to make up
nature of the components and CBD, instead of discovering the nature and reality
about the physical functional components and CBD of physical products.
In basic sciences, researchers
try to discover Truth about the reality (e.g. for achieving a desire such as
cold fusion or a new vaccine) and try to invent things by relying the validated
Truths/facts. In software, researchers invented the Truths (for components based
on their fantasy) and try to fit the reality to the fantasy.
This mistake at the root of
existing software engineering paradigm has huge costs – blocking the scientific
progress by hostile to free thought. It is impossible to predict what great discoveries
and inventions lay ahead (if and when we overcome these blockades), when computer
science and software engineering respectively transformed in to real science
and real engineering. I feel, discoveries that will lead to the invention of
real AI (Artificial Intelligence) is one of them.