From COBOL to OOP

This tutorial is just an introduction; Chapter 4 discusses the issue in more detail
To conclude our first major part of this OOP course, we provide a short overview about pointers. Pointers form a core feature in object-oriented programming, because objects are always realized by use of pointers. COBOL offers a few similar approaches, in particular the extension USING BY REFERENCE in OO-COBOL. However, traditional COBOL programmers typically do not know this issue well, although the concept is powerful. For this reason, this topic is introduced here and deepens our discussion in the second part of our OOP course.
Pointers
In general, a pointer is a dynamic data structure. Dynamic means that the storage space is not available in advance; instead, it is created upon demand. Moreover, a pointer has an unlimited size and shape for example, in contrast to an array, which is always limited.
Lists
In general, the simplest use of pointers are lists. For example, a list of names can be represented in an array but also in the form of a linked list. One name always points to the next. The last name points to an end identifier a NIL pointer. Figure 3.4 shows these two options. The line originating from D, limited by a vertical line, is the graphical representation of a NIL pointer.
A dynamic list can have any length
The difference between an array and...