Working with objects — in computer and mind

Trygve Reenskaug, James O. Coplien · 2014

After more than 60 years with computers, hundreds of millions of people are dexterous at using them. Yet, the source code for a simple app is incomprehensible to almost all. We claim this is wasteful and passe -- wasteful, because many valuable opportunities are lost; passe because computer programming is rapidly becoming an essential part of primary and secondary education. We introduce a new paradigm for computer programming called DCI - Data, Context, Interaction. DCI brings programming to the level of everyday concepts and activities. The professional programmer can attack complex problems without undue additional complexity. The software maintainer can preserve system integrity by understanding and honoring the system architecture long after the originators have moved on to other projects. DCI can be embedded in different programming languages that are specialized for different purposes. The DCI concepts can become a unifying foundation for programming in both introductory and advanced programming education. DCI specifies a program as seen in two orthogonal projections; the Data projection describes system state and the Context projection system behavior. Recursion further separates a system into comprehensive levels, each level revealing more details than the level above.

Read the paper · More papers on PaperTik