Concept-Oriented Programming: References, Classes and Inheritance Revisited
Abstract
The main goal of concept-oriented programming (COP) is describing how objects are represented and accessed. It makes references (object locations) first-class elements of the program responsible for many important functions which are difficult to model via objects. COP rethinks and generalizes such primary notions of object-orientation as class and inheritance by introducing a novel construct, concept, and a new relation, inclusion. An advantage is that using only a few basic notions we are able to describe many general patterns of thoughts currently belonging to different programming paradigms: modeling object hierarchies (prototype-based program-ming), precedence of parent methods over child methods (inner methods in Beta), modularizing cross-cutting con-cerns (aspect-oriented programming), value-orientation (functional programming). Since COP remains backward compatible with object-oriented programming, it can be viewed as a perspective direction for developing a simple and natural unified programming model.
Cite
@article{arxiv.1409.3947,
title = {Concept-Oriented Programming: References, Classes and Inheritance Revisited},
author = {Alexandr Savinov},
journal= {arXiv preprint arXiv:1409.3947},
year = {2014}
}
Comments
13 pages, 6 figures, Full version of the paper published in ICSOFT 2012 conference