The real scientific process for advancing any area such as
semiconductor-chips or fiber-optic networks (or real-CBD for software) requires
two basic steps: (1) Basic scientific research to discover facts about innate
nature and essential characteristics and aspects of the basic building blocks
essential for the area, and (2) Basic engineering research that must rely on the facts discovered in the step-1 to invent
useful things of the area.
The scientific and engineering progress is respective fields (e.g.
semiconductor-chips or fiber-optic networks) is accomplished by iterating on
two steps (e.g. by experimentation, trail-and-error): (a) discovering more
facts or finer aspects of already known facts; and (b) invent more useful
things or innovating to make useful things better by relying on facts.
The researchers of computer science made a huge error by skipping the
step-1 by defining many kinds of software-components without any basis in reality
or consideration of facts, where each kind of software-components by definition
(or convention) is a kind of useful software parts either (i) having certain
useful properties (e.g. reusable or standardized) or (ii) conforming to a so
called component model.
The above definitions (or postulations) are a huge violation of basic
scientific principle/process: Could the semiconductor-chip industry exist, if
scientists define characteristics of electrons and nature of how electrons
behave in semiconductor materials, without any consideration to reality or
facts? Could the fiber-optic networks exist, if scientists define
characteristics of light and nature of how light behave in fiber-optics,
without any consideration to reality or facts?
Likewise, real-software-components for real-CBSD cannot be invented by
software researchers, without discovering the facts about innate nature of
real-functional-components such as unique characteristics universally shared by
all the physical functional-components that are essential for enabling real-CBD
(e.g. must have one or more hierarchies of replaceable components) for the
physical products.
Therefore any progress made based on these baseless definitions (i.e.
postulation) for so called software components would have near zero value in
the context of real-CBSD. Please don't miss-interpret my statement. Of course,
they have value in the context of software-parts, because it is certainly
possible to invent and improve many kinds of useful software parts. These other
kinds of software-parts and improvements are giving the researchers a false
sense confidence that research is in the right path. But reality is other kinds
of software-parts are not only irrelevant in the context of real-CBSD but also
successfully preventing the discovery of real-software-component for real-CBSD
(i.e. CBD for software products) by burring the error deeply under ever growing
many layers upon layers of interdependent web of concepts of so called
component/CBSE evolved for decades by relying on the error.
The existing software engineering paradigm (built by relying on the
above huge error) has been spread very widely (even though software is widely
acknowledged to be in crisis/complex, computing is far more useful to endure
the complexity) and the large ecosystem of concepts evolved by relying on the
error is deeply entrenched into conventional wisdom. Today most experts even
arrogantly or foolishly refuse to accept the basic scientific principles and
processes.
Often the experts defend the error by relying on the concepts of
top-layers of the paradigm, without even realizing that they have been using
invalid circular logic. It is no different that the astronomers defending the
Geocentric-model by using the epicycles and retrograde-motion of planets, where
the epicycles and retrograde-motion were well documented for centuries (e.g.
can re-confirm at any time by observing the planets) and deeply entrenched in
to collective wisdom. This resulted in a stalemate and the most famous
intellectual scientific confrontation in history:
In his letter to
Kepler in year 1610, Galileo complained that the philosophers (i.e. Scientists
were referred to as philosophers) who opposed his discoveries had refused even
to look through a telescope: "My dear Kepler, I wish that we might laugh at the remarkable
stupidity of the common herd. What do you have to say about the principal
philosophers of this academy who are filled with the stubbornness of an asp and
do not want to look at either the planets, the moon or the telescope, even
though I have freely and deliberately offered them the opportunity a thousand
times? Truly, just as the asp stops its ears, so do these philosophers shut
their eyes to the light of truth."
This kind of stalemate can never occur, if no basic scientific
principle is violated and no scientific process is broken. Therefore this kind
of stalemate can be overcome by finding any violations of basic scientific
principles or broken scientific process. Those philosophers had million
references to discredit the Truth (i.e. Heliocentric-model) in then deeply
entrenched paradigm, which had been evolving for centuries by relying on a huge
error. The philosophers had no problem showing the retrograde motion of planets
to any one who wants proof (by standing on the Earth). The existing software
paradigm that has been evolving since 1970 has literally has thousands of
references either to defend the huge error or to discredit the facts and
reality (each and every one know about the CBD of physical products and the
physical functional components).
I am respectfully challenging any software expert to find a
flaw in this simple two-part proof: Part-1: No real scientist can discredit the fact
that, it is a huge error to skip the step-1 for technological progress. Part-2:
It is impossible to find any evidence that any researcher ever tried to
discover the nature of real-components essential for achieving real-CBD, which
further requires discovering accurate description for real-CBD by relying on
facts (e.g. CBD-structure)
and valid observations (e.g. CBD-process).
It is impossible to find any evidence that inventing or defining
(instead of discovering) the nature of any physical being (e.g. electrons,
light or components) or phenomenon (e.g. behavior in IC-chips, fiber-optic
equipment or for achieving real-CBD respectively) ever resulted in any tangible
benefits, except in science fiction books and movies, or inspiring mankind’s
creative imagination that might result in real discoveries. Of course, some
discoveries are made either by accident or a lucky guess.
I freely and
deliberately offered to demonstrate dozens of hierarchies of replaceable
components to many researchers. Sadly respected researchers even in the 21st
century behaved not much differently than the philosophers in the dark ages.
For example, after few failed attempts I wrote
this open letter to
researchers of highly respected research organizations.
How could any one believe he is real researchers or scientists without
even knowing the basic scientific principles and basic scientific process? If
software scientists refuse to accept basic scientific principles that are
applicable to the software engineering, which is amount to murdering the
real-CBSD and death of real-scientific progress (since no real scientific
progress is possible not only without exposing the huge error but also not
following basic scientific principles and processes).
Any scientist must agree that even 5 times the collective might and
wealth of mankind can’t change the laws of nature, so it is foolish to define
or try to invent the nature of any kind of physical-beings or
physical-phenomenon. The computer science veered off course into the realm of
pseudo-science (or science fiction) when software researchers collectively
accepted or agreed to define or try to invent nature of physical-beings (e.g.
physical functional-components) or phenomenon (CBD for physical products).
The computer science can be and must be a real science, because it can
be and must be progressed on real facts (not myths or baseless postulations).
Unfortunately today the computer science is not real science because it
comprises many concepts relying on myths or baseless postulations. It is
impossible to transform this pseudo-science into real science without exposing
the errors and myths; without fixing the broken scientific process by following
basic scientific principles.
If one searchers using Google for phrases 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. The basic science was flawed discipline
500 years ago, because it evolved for 1000 years based on unsubstantiated
erroneous axiomatic assumption “The Earth is static at center”. Likewise,
computer science and software engineering are flawed disciplines, because each
has been evolving since 1960s based on the unsubstantiated erroneous axiomatic
assumptions (no one ever try to validate or even aware of its very existence).
The CBD is a physical
phenomenon like phenomenon of flying that must obey laws of nature, and
flopping fake wings (i.e. using fake components) can never achieve flight (i.e.
real CBD). Our beloved computer science can never come out of realm of science
fiction until the nature of beings and phenomenon is discovered (instead of relying
on baseless definitions that clearly contradict reality and facts). For example, the phenomenon of controlled powered flight can’t be achieved
without relying on scientific discoveries and technological facts. Likewise, it
is impossible to achieve real-CBD without discovering the essential scientific and
technological facts. The technological progress since early flight of Wright
Brothers to acrobatic twists and turns of modern jet-fighters is possible only
by relying on scientific discoveries and technological facts. By observing the progress
of aviation or any modern technology one can understand that defining nature instead
of discovering nature resulted in our beloved computer science ending up as a
science fiction.