You are here

On the Nature of Computing - Is Computing a Science?

31 March 2016
Initially considered rather as applied technology, over the years computing resisted absorption back into the fields of its roots and developed an impressive body of knowledge. We discuss how computing is related to other domains of knowledge and draw conclusions about the very nature of the discipline. Computing deals with the study of information processing. Information is defined as a relationship between the syntax and the semantics of a language. It is an entity independent from matter and energy. It is not subject to space-time constraints. It is non material, although it needs media for its representation. Computing has developed as a domain of knowledge from prior knowledge about computation based on mathematics and logic. In contrast to physical sciences, it focuses on the design of artefacts. The dominant paradigm is synthesis rather than analysis to understand and predict phenomena. Nonetheless, both computing and physical sciences share a common objective: the study of dynamic systems. Physical phenomena can be understood not only through the study of immutable laws, but also as computational processes. Physical systems are inherently synchronous and driven by uniform laws. Computing systems ignore physical time and are driven by specific laws defined by their designers. Despite these differences, computing and physical sciences are rooted in two common paradigms that characterize any scientific approach. The first is the application of modularity principles to cope with the inherent complexity of phenomena. The second is the use of abstraction hierarchies of models that describe phenomena at different levels of detail. We discuss similarities and differences in the application of these paradigms. A central problem in computing is the study of design as a formal process leading from requirements to correct systems. Providing design with scientific foundations raises several deep theoretical problems including the conceptualization of needs using declarative languages, their proceduralization and implementation. Additionally, design “scientization” seeks the purposeful and coherent integration of methods through the study of general semantic models, of expressive component frameworks and most importantly, of theory for achieving correctness-by-construction. This endeavor and its overarching goal are both intellectually challenging and culturally enlightening. It is at least as important the quest for scientific discovery in physical sciences and nicely complements the effort for scientific progress and its fruition.