The Gist of 2 Huge Structural Flaws in Computer Science (Software)

3 downloads 3113 Views 141KB Size Report
The Gist of 2 Huge Structural Flaws in Computer Science (Software). The software researchers committed two structural mistakes. The first kind of mistake was: ...
The Gist of 2 Huge Structural Flaws in Computer Science (Software)

The software researchers committed two structural mistakes. The first kind of mistake was: Relying on unproven and undocumented beliefs for nearly past 50 years by concluding the beliefs to be self-evident facts. Hence BoK (Body of Knowledge) for the discipline of Computer Science contain many flawed facts (i.e. wrong beliefs that are considered self-evident facts). Any fact, concept or observation derived by relying on such flawed fact most likely be flawed (i.e. infected with the corruption). Since many of the newer concepts or facts added to the BoK by relying on already exiting earlier facts or concepts, corruption spreads across BoK over time as more & more new facts, concepts and observations are added to the BoK (e.g. to expand and grow the BoK).

The second mistake is: Considering and insisting that computer science is a sub-domain of mathematics, instead of treating computer science as an independent discipline for creating and expanding Body of Knowledge (or BoK) for addressing any kind of problems and/or issues related to software. Mathematics alone can’t provide knowledge foundation absolutely essential for addressing many problems and issues that must be addresses by software. Mathematics is just one tool for gaining certain kind of knowledge, but not the only tool for gaining all kinds of knowledge.

Mathematics can provide certain kind of knowledge or perspective, but can’t provide certain other kinds of knowledge for gaining comprehensive perspective. For addressing certain problems, we need more than one kind of knowledge and perspectives. That is the reason other scientific or engineering disciplines are using multiple tools for gaining necessary knowledge for respective subject (or domain).

Likewise, to address each of the problems that must be solved in the domain of software, computer science must use any and every proven tool for providing necessary knowledge foundation. No one can argue science is not a proven tool for gaining certain kind of knowledge. Refusing to use science (i.e. proven scientific processes and methods) for acquiring knowledge for software is a huge mistake.

If Google for "What is Science", one would see 3 descriptions. First sentence describes science as a tool to gain knowledge. Another two describes science as a body of knowledge for a particular subject (or discipline). Both are right depending on the context. Computer science is a body of knowledge for software. Computer science can and must use scientific processes as a tool for gaining necessary knowledge.

If I am right, it would open a huge uncharted territory that can be explored for decades by thousands of researchers of computer science (to expand the theoretical and knowledge foundations) and software engineering (to make new and useful inventions by relying on the expanded theoretical and knowledge foundations). The 1st mistake might be a manifestation of 2nd mistake. Mathematicians used axiom instead of discovering facts such as nature and properties of things like components.

Suggest Documents