The Programming Language Oberon-2. Methodically this book is hard to beat. Includes many examples. This book presents the programming language Oberon in concise, illustrative and clear style with many examples.
Most chapters contain exercises.
After explaining language constructs and library modules in the first nine chapters, some examples show how stepwise refinement and data abstraction facilitate program design. The object oriented features, namely record type extension, also called inheritance and dynamic, also called polymorphic types, are described on 75 pages and applied to simulation example. The last chapter is dedicated to Oberon-2, which is fully upward compatible with Oberon. The appendix contains the complete Oberon language report on only 25 pages. Oberon is a simple language, yet more powerful than its predecessor Modula-2.