No label defined (Q4936339)
From MaRDI portal
!
This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use the normal view instead:
scientific article; zbMATH DE number 1393352
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | No label defined |
scientific article; zbMATH DE number 1393352 |
Statements
26 January 2000
0 references
Java
0 references
programming languages
0 references
object-orientation
0 references
As the authors state in their preface this textbook teaches programming, not a certain programming language. The programming language Java, mentioned in the title of the book, in the first place serves as a means to explain concepts. It is not in itself the subject of this book. In particular, there is nothing about standard packages, applets and the like, and the book is not suitable as a reference of the Java language, but nevertheless the peculiariaties of Java are explained. On the other hand the reader may expect a thorough introduction into programming concepts, from foundations to complex programs, from principles of program structures via their application to judging their possibilities and limits. No previous knowledge is necessary, the authors even try to motivate the use of computers and programming languages. Next algorithms are defined by 13 properties from being well defined to being robust. Formal languages and grammars lead to the definition of programming languages. The second chapter explains data types and instructions common to object-oriented and traditional programming languages. Chapters 3 to 6 are devoted to object-orientation. Many concepts and techniques are presented very detailed. Variants and their advantages and disadvantages are discussed. Lists for example are implemented in various ways exemplifying the full range of possibilities from recursive structures to interfaces. A whole chapter about recursion even shows how to convert recursion to iteration. On the other hand concepts not present in Java are only briefly mentioned or not at all: e.g. lexical scope versus dynamical scope, call-by-reference versus call-by-value. Chapters 7 to 9 focus on reusability and software engineering as well as special concepts like exceptions and threads. The book is abundant in examples, which from the beginning are complete programs -- or at least complete versions can be downloaded from the internet, the same is true for exercises. The first of two appendices gives a complete, commented software design and implementation of some part of a library management system. Index and bibliography are relatively short, but the latter makes clear what the reader should study next: the Java reference and software engineering. And I would recommend to read this book beforehand.
0 references