Obvious Facts About Designing & Engineering of ...

2 downloads 0 Views 26KB Size Report
parts that can be assembled and disassembled, where the particular kind of parts are widely known (and/or .... How can we invent cures for infections, if we have.
Obvious Facts About Designing & Engineering of Large Products The single greatest contributor for increasing manual productivity in designing, engineering and building large or complex physical products is particular kind of parts that can be assembled and disassembled, where the particular kind of parts are widely known (and/or referred to) as components.

Any part that can’t be assembled and disassembled is not a component, in the context of countless product (e.g. cars, computers, cell-phones, TVs, ACs, airplanes, office equipment such as printers, machines or machinery for factory) we use every day.

Why no software product or application in the world is built by using real components, where the real components are unique kind of parts that must be conducive to be assembled and disassembled? It is an error to fool ourselves that software has already invented components for software products by insisting (or refereeing) parts that can’t be assembled and disassembled are components.

Any other kind of parts that can’t be assembled and disassembled can’t offer benefits that can only be (or are uniquely) offered by kind of parts that can be assembled and disassembled, where the particular kind of parts that can be assembled and disassembled are widely known (and/or referred to) as components.

In other words, other kind of parts that can’t be assembled and disassembled can’t offer benefits that can be offered by the components. The components can offer certain unique kind of benefits only because the components can be assembled and disassembled.

William Shakespeare’s quote: "A rose by any other name would smell as sweet". Likewise, any kind of medium or large parts (that can be assembled and disassembled) by any other name will be equally valuable (as components).

But calling any other thing (e.g. a pig or rat) by name rose won’t make the pig or rat smell any better. Likewise, calling any other kind of software parts (i.e. that

can’t be assembled and disassembled) by the name components won’t be as sweet (so to speak).

If you want things that smell sweet, go out find things that smell sweet such as roses. If you call pigs by name rose, the pigs don’t smell any better. That is, it is foolish to expect that pigs would smell better by refereeing to pigs as roses.

If you referred to parts (i.e. that can’t be assembled and disassembled) as components, such components can’t offer benefits that are being offered by the components (i.e. parts that can be assembled and disassembled).

Keep in mind that the single greatest contributor for increasing manual productivity in designing, engineering and building large or complex physical products is using particular kind of parts that can be assembled and disassembled.

If you want to increase productivity (e.g. by addressing infamous software crisis by eliminating root cause spaghetti code), you must go out and invent mechanisms for building software products by creating and using a kind of parts that can be assembled and disassembled.

Existing dominant software engineering paradigm is rooted in 50 years old untested and unproven flawed beliefs such as reusable parts are components. Unfortunately, software experts feel it is vulgar or heresy to question such beliefs. It is a blatant violation of scientific method to rely on such untested myth or belief.

By denying scientific principles, one may maintain any paradox… Galileo Galilee

Today software researchers and scientists of computer science have been maintaining exiting software engineering paradox by blatantly violating basic scientific methods and scientific principles.

Why no software product or application in the world is built by using parts, which can be assembled and disassembled?

What is the biggest difference between a scientific discipline and a religion? The fundamental principles are sacred beliefs (or tenants) and it is blasphemy to question the sacred beliefs (or tenets). Each scientific or engineering discipline must have proven, tested and falsifiable fundamental principles at the very foundation, where it is a heresy to treat any basic principle (or tenets) is sacred, for example, by insisting the principle (i.e. belief) is not open for validation or testing for falsification. Hence, discipline of computer science or software is closer to a religion than a scientific discipline, because it is rooted in beliefs that are treated as sacred, and researchers of software or computer science feel that it is heresy to question, validate or falsify the sacred beliefs.

Every useful engineering invention must be rooted in veiled scientific or theoretical foundation. It is impossible to make any invention to work as expected, if the invention relies on flawed scientific or theoretical knowledge (i.e. if the scientific or theoretical foundation is flawed). How can we invent real CBD/CBE (Component Based Design, Engineering and Building) software products, if we are relying on fundamentally flawed knowledge about the components and how they function (or the critical role they play) for achieving such real CBD/CBE of countless physical products such as cars, computers, cell-phones, airplanes, machines or machinery for factories?

How could we invent useful things such as semiconductor chips, if we have fundamentally flawed knowledge about the electrons and how they behave in the semiconductor material? How could we invent useful things such as fibre optic networks, if we have fundamentally flawed knowledge about the light and how it behaves in glass/fibres? How can we invent cures for infections, if we have fundamentally flawed knowledge about the viruses or/and bacteria?

The scientific method has been perfected for centuries (by great scientists and philosophers of science) and have proven track record for acquiring valid knowledge. Also, if we admit are not, our scientific or theoretical knowledge is often far from perfect, but must be sufficiently valid for making many inventions. For example, scientific or theoretical knowledge mankind acquired about electrons, light,

viruses or bacteria is far from perfect, but whatever the valid knowledge mankind have is sufficient to make many such great inventions.

The purpose of scientific research is pursuit of absolute truth, which includes improving our valid (but far from perfect) knowledge closer and closer to the absolute truth. Furthermore, the scientific method has proven track record of finding hidden imperfections, anomalies or impurities in our already acquired BoK (Body of Knowledge), which is essential for addressing each of the imperfections or impurity for improving our BoK for bringing the BoK closer and closer to the absolute truth.

The purpose of engineering or technological research is inventing useful things by applying the valid scientific or theoretical BoK (that was acquired by employing the scientific method). Each of the successful inventions (i.e. products) in use today is a testament to the validity of the BoK, which was applied (i.e. relied up on) and essential for making the successful invention. Each of the products can be improved by applying any improvements made to the BoK (e.g. by addressing imperfections or impurities).

The software researchers could never achieve real CBD/CBE for software products without acquiring valid BoK about the components and how they function (or the role they play) for achieving the real CBD/CBE of countless physical products such as cars, computers, cell-phones, airplanes, machines or machinery for factories. Furthermore, the invention of real CBD/CBE for software products can be improved by perfecting BoK (that is very likely to be far from perfect, so may have lot of room form improvements), by addressing imperfections or impurities in the BoK,

In the context of any hard science and technology, there is no exception to this rule: Any dominant paradigm can be subverted if it is rooted in flawed belief (or system of interdependent beliefs). A paradigm is said to be rooted in a belief (or system of beliefs), if large chunks of the BoK (Body of Knowledge) for the paradigm is acquired and accumulated by relying on the belief (e.g. the belief is one of the main foundation or first principle) for long enough time for the paradigm to become dominant paradigm.

For example, geocentric paradigm was subverted in the 16th century, because it was rooted in 2300-year-old flawed belief that “the Earth is static at the canter”. The geocentric paradigm became dominant paradigm (by 16th century) by acquiring and accumulating BoK for 1800 years (between 300BC and until 16th century) by relying on the flawed belief (i.e. the Earth is static). Only flawed paradigms can be subverted. No paradigm can be subverted, if it is not rooted in flawed beliefs. It is impossible to subvert dominant paradigms such as heliocentric paradigm, because there is no chance for the root first principle “the Sun is at the centre” is flawed.

Any paradigm including heliocentric paradigm can be and will be subverted, if and only if it is rooted in flawed beliefs. There is no exception to this rule: Any flawed dominant paradigm in any scientific or technological discipline must be subverted, if it is rooted in flawed beliefs, because there is no other way for advancing the discipline without subverting such flawed dominant paradigm. There is no other way for making any tangible progress in the discipline), except subverting any such flawed paradigm.

Mankind still would be in the dark ages, if the lies at the root of the geocentric paradigm were not yet exposed. All the great scientists born during past 400 years (e.g. Newton, Einstein, Bose, Max Planck, Bohr, Dirac or Maxwell) could not have made any tangible contribution, except may be exposing the error at the root of geocentric paradigm. Each of them must had wasted their hard work and passion in pursuit of fool’s errand (e.g. to make sense of inexplicable or incomprehensible epicycles or retrograde motion of geocentric model).

Existing dominant software engineering paradigm can’t be an exception to this rule (even if it is impossible to believe): If it is rooted in flawed beliefs (or an ecosystem of interdependent beliefs), it can be and must be subverted. No meaningful progress is possible until such flawed paradigm is subverted by exposing the flawed beliefs that are very foundation of the BoK for the dominant paradigm. It is certainly possible to subvert any dominant paradigm rooted in flawed beliefs (without any exception), but at what cost and effort? Does the risks, costs and efforts worth potential gains?