Is Programming Theory Needed? Part 2

Sec 2.2 Mechanism to establish the Basic Concepts of Programming

This section outlines the mechanism to establish Basic Concepts of Program-ming. Subsection 2.2.1 describes the sources and processes. Subsection 2.2.2 overviews the usage of Basic Concepts throughout this dissertation.

2.2.1 Sources and processes

The Basic Concepts of Programming in this research is established through some mechanism. There are two categories of main source: literature within the software professionals and literature within physics and traditional engineering. The roles of literature from other categories (programming / software engineering, linguistic, vector calculus) are detailed from sec 2.3 to sec 2.9.

Processes to Create Theory

Figure 2.2 Abstraction of the Mechanism to Synthesize Basic Concepts and BRC categories

2.2.2 The use of Basic Concepts

Basic Concepts of programming are one of the outcomes of processes in fig 2.2. are used to examine the claims in research papers, standards, and books in objective and scientific manner. They are used to formulate object-orientation, module, encapsulation, inheritance, polymorphism, and measure of orthogonality. Subsequent paragraphs in this subsection will explain fig 2.3, to describe how combining the Basic Concepts with other subjects can produce the outcomes.

We start by combining the Conceptual Integrity [10] with Basic Concepts. Reference [10] wrote “It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas.” If we remove “good but” from the original sentence; and replace features, improvements, and ideas with concepts we get this paraphrased sentence. “It is better to have a system omit certain anomalous concepts, but to reflect one set of good concepts, than to have one that contains many uncoordinated concepts.” Class, method, instance, and other concepts are anomalous concepts. Chapter 4 covers the definition of OO, the non-universality of OOPLs, and inorthogonalities and problems in OO.

Code-translation, the definition of module and modular-programming also contributes to examine the Object-Orientation. Those former topics are covered in chap 3. Finally, fig 2.3 shows the final four outcomes (including the three orthogonal) with their respective chapters that relies on Basic Concepts. The Basic Concepts are prevalent in this dissertation.

Processes to Create Theory 02

Figure 2.3 The usage of Basic Concepts

2.2.3 No references and no reliance to keywords

As written in subsec 2.3.2, Basic Concepts are used to examine the claims in research papers, standards, and books in objective and scientific manner. It is a common manner in the papers, international standards, and textbooks to explain concepts by referring to keywords; as can be seen by examples cited in ref [52]. An example is the definition of object-oriented from Bjarne Stroustrup [82], creator of C++: “ The basic support a programmer needs to write object-oriented programs consists of a class mechanism with inheritance and a mechanism that allows calls of member functions to depend on the actual type of an object (in cases where the actual type is unknown at compile time).” His definition of object-orientation is keyword dependent: depends on the keyword class.

Definitions that are keyword dependent are not scientific. Creators of different programming-languages choose different keywords. The basic concepts proposed in this dissertation are keyword independent. Sec 2.4 elaborates using sources outside physics to establish the keyword-independent Basic Concepts.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s