AND IMPLEMENTATION OF AN OBJECT ORIENTED PROGRAMING LANGUAGE

  • R. Mokua Institute of Computer Science and Information Technology, Jomo Kenyatta University of Agriculture and Technology, Nairobi, Kenya
  • W. Mwangi Institute of Computer Science and Information Technology, Jomo Kenyatta University of Agriculture and Technology, Nairobi, Kenya
  • J. M. Kanyaru Software Systems Research Center, Bournemouth University, United Kingdom
Keywords: Object oriented programming language, compilers, software engineering, type systems, compiler design and construction

Abstract

This paper presents work done to address two issues of interest to both Programming Language (PL) theory and
software development: 1) The inadequacies of mainstream Object Oriented Programming Languages used in the
software industry such as Java, C# and C++ and 2) The design and implementation of a statically typed Object
Oriented Programming Language that addresses some of the issues identified above. Research was conducted
through critical analysis of existing Object Oriented Programming Languages (OOPL) as well as a literature review
of journal and conference publications in that area. The aim was to elicit evidence of PL constructs that had been
found through previous experience to lead to poor Software Engineering practices such as increased amount of
bugs, poor maintainability, late (i.e. runtime) detection of errors, poor usability and low programmer productivity.
This work has produced key benefits that include a deeper understanding of PLs specifically OOPLs, and an
improved comprehension and appreciation of the nuances of PL design. The findings have the potential to benefit
PL researchers and designers in various ways. The contributions of this work are that a list of the language
constructs (e.g., Static Variables, Lack of Object Level Encapsulation, Presence of Primitive Types) that seem to lead
to poor Software Engineering practices with current OOPL have been identified. A further significant contribution
is the production of a new OOPL designed to act as proof of concept to illustrate how these issues can be
addressed.

Published
2019-05-15