Classification and Software Culture

Peculiar to a multitude of principles, computer software could be grouped into different classes. The classification is partly based on the culture of developers and target users, and the process itself is also a reflection of the culture. Sticking to the different ages of development of mankind to analyze the different classes of software, at first were database systems. As data amount skyrocketed, those systems expressed transplanting, data redundancy, space waste and update difficulty encumbrances, which hindered their ontogenesis. As a consequence was hierarchical, grid database, relational, and non-relational database systems. Following the problem-solution patterns, DOS system ran and operated disks. Driven by users solicitation, it went through a series of redesigns, and finally its legendary predecessor, the windows OS. Together with its principal rivals, the Linux OS and apple Mac OS, they imparted variegated features in manifold ways, thence storifying the different classes of operating systems. Portable and Mobile operating systems were introduced for the sake of mobile computing. The latter interacted with users meanwhile underlying drivers systems managed device hardware. In response to the multifariousness of software systems emerged different classes of programming languages to dispatch heterogenous prospects such as object-oriented programming, script language, and many more. Compilers conjointly forked into distinctive classes transforming incommensurable codes. Game software shifted from console to networking with the proliferation of the internet. Threatens to security bred assorted target-purposed security software. In the chapter below, we will look into these classifications and how they chaperoned mankind all along.

[1]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[2]  Thomas Narten,et al.  Unix operating system , 2003 .

[3]  Kaushik Velusamy,et al.  Modern Operating Systems , 2015 .

[4]  Abraham Silberschatz,et al.  Operating System Concepts, 9/E. , 2016 .

[5]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[6]  Kishor S. Trivedi,et al.  Software Faults, Software Aging and Software Rejuvenation( New Development of Software Reliability Engineering) , 2005 .

[7]  Rick Cattell,et al.  Scalable SQL and NoSQL data stores , 2011, SGMD.

[8]  Harish Patil,et al.  Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.

[9]  Curtis J. Bonk,et al.  The Emergence of Open-Source Software in China , 2007 .

[10]  Jack J. Dongarra,et al.  Performance of various computers using standard linear equations software in a FORTRAN environment , 1988, CARN.

[11]  K. Powell,et al.  Cognitive and Social Constructivism: Developing Tools for an Effective Classroom. , 2009 .

[12]  Amit Singh,et al.  Mac OS X Internals: A Systems Approach , 2006 .

[13]  R J Read,et al.  Crystallography & NMR system: A new software suite for macromolecular structure determination. , 1998, Acta crystallographica. Section D, Biological crystallography.

[14]  Brad A. Myers,et al.  A brief history of human-computer interaction technology , 1998, INTR.