English

Concept-Oriented Programming: References, Classes and Inheritance Revisited

Software Engineering 2014-09-16 v1 Programming Languages

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.

Keywords

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

R2 v1 2026-06-22T05:55:56.606Z