I have learned that abstraction is to extract only important parts from the concrete object so far. I learned that model is extracted important parts from a complex system of reality. The concept of modules is abstraction and modeling.

image

At the same time as Modula, computer scientist Barbara Liskov created a programming language CLU. In the CLU, we used the concept of a “type,” instead of a module. The abstract data type is a set of the data structure and procedures for manipulating it, hiding the details of the implementation of the data structure, and exposing only the procedure of the operation.

In the widely popular programming language Java, the structure for summarizing this data and procedures was called “class.” For example, the component that provides the function of a variable length array is the java.util.Vector class. It is implemented as a class derived from an abstract class named java.util.AbstractList. *34

en.icon --- This page is auto-translated from [/nishio/(1.4.3.2) Hide non-critical parts = Extract important parts](https://scrapbox.io/nishio/(1.4.3.2) Hide non-critical parts = Extract important parts) using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at [@nishio_en](https://twitter.com/nishio_en). I'm very happy to spread my thought to non-Japanese readers.