Comparative evaluation of programming paradigms: Separation of concerns with object-, aspect-, and context-oriented programming
Fumiya Kato, Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa
Abstract
Fumiya Kato, Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa
Abstract
There are many programming paradigms for the separation of concerns (SoC). Each paradigm modularizes concerns in a different way. Context-oriented programming (COP) has been developed as a supplement to objectoriented programming (OOP), which is one of the most widely used paradigms for SoC. It modularizes concerns that are difficult for OOP. In this paper, we focus on three paradigms OOP, aspect-oriented programming (proposed as a supplement to OOP that has a different approach from COP), and COP and study whether COP can modularize concerns better than other two paradigms in given situations. Then we determine the reasons why COP can or cannot better modularize concerns.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
There are many programming paradigms for the separation of concerns (SoC). Each paradigm modularizes concerns in a different way. Context-oriented programming (COP) has been developed as a supplement to objectoriented programming (OOP), which is one of the most widely used paradigms for SoC. It modularizes concerns that are difficult for OOP. In this paper, we focus on three paradigms OOP, aspect-oriented programming (proposed as a supplement to OOP that has a different approach from COP), and COP and study whether COP can modularize concerns better than other two paradigms in given situations. Then we determine the reasons why COP can or cannot better modularize concerns.
Key concepts: Separation of concerns, Object-oriented programming, Computer science, Aspect-oriented programming, Context (archaeology), Programming paradigm, Programming language, Functional reactive programming