
Programming in Modula-3
An Introduction in Programming with Style
Springer (Publisher)
Published on 15. September 2011
Book
Paperback/Softback
XXII, 571 pages
978-3-642-64614-0 (ISBN)
Description
by Joseph Weizenbaum Since the dawn of the age of computers, people have cursed the difficulty of programming. Over and over again we encounter the suggestion that we should be able to communicate to a computer in natural language what we want it to do. Unfortunately, such advice rests upon a misconception of both the computer and its task. The computer might not be stupid, but it is stubborn. That is, the computer does what all the details of its pro gram command it to do, i. e. , what the programmer "tells" it to do. And this can be quite different from what the programmer intended. The misun derstanding with respect to tasks posed to the computer arises from the failure to recognize that such tasks can scarcely be expressed in natural language, if indeed at all. For example, can we practice music, chemistry or mathematics without their respective special symbolic languages? Yet books about computers and programming languages can be written more or less reasonably, even if they are not quite poetic or lyrical. This book can serve as an example of this art and as a model for anyone at tempting to teach inherently difficult subject matters to others. Klagenfurt, April 1995 Preface Striving to make learning to program easier, this book addresses primarily students beginning a computer science major. For our program examples, we employ a new, elegant programming language, Modula-3.
More details
Edition
Softcover reprint of the original 1st ed. 1996
Language
English
Place of publication
Berlin
Germany
Publishing group
Springer Berlin
Target group
Professional and scholarly
Research
Illustrations
XXII, 571 p.
Dimensions
Height: 235 mm
Width: 155 mm
Thickness: 33 mm
Weight
896 gr
ISBN-13
978-3-642-64614-0 (9783642646140)
DOI
10.1007/978-3-642-60940-4
Schweitzer Classification
Other editions
Additional editions

E-Book
12/2012
Springer
€53.49
Available for download
Book
09/1996
1st Edition
Springer
€93.08
Article exhausted; check different version
Persons
Content
1 What is programming?.- 1.1 An informal introduction.- 1.2 The von Neumann Computer.- 1.3 Rigid thought structures.- 1.4 Programming in the small.- 1.5 Levels of programming.- 1.6 Programming and Computer science.- 2 Metalanguages.- 2.1 Definition of formal languages.- 2.2 Digits and numbers.- 2.3 Names.- 2.4 Arithmetic expressions.- 2.5 Extension for Modula-3 syntax.- 3 The structure of programs.- 3.1 Structuring.- 3.2 Language environment.- 3.3 The statics and dynamics of a program.- 3.4 Structure of Modula-3 programs.- 4 Predefined data types.- 4.1 Integers.- 4.2 Logical type.- 4.3 Characters.- 4.4 Texts.- 4.5 Floating-point numbers.- 5 Statements.- 5.1 The assignment.- 5.2 Structured Statements.- 5.3 Sequence.- 5.4 Branches.- 5.5 Loops.- 6 User-defined simple types.- 6.1 Enumeration.- 6.2 Subranges.- 7 Expressions and declarations.- 7.1 Expressions.- 7.2 Declarations.- 7.3 Equivalence of types.- 7.4 Subtypes.- 7.5 Assignment compatibility.- 7.6 Expression compatibility.- 8 Composite static types.- 8.1 Arrays.- 8.2 Records.- 8.3 Sets.- 8.4 Comparison of arrays, records and sets.- 8.5 Packed data types.- 9 Structuring algorithms.- 9.1 Block structure.- 9.2 Procedures and functions.- 9.3 Modes of parameter passing.- 9.4 Identifying the procedures.- 9.5 Name, type and default value of a parameter.- 9.6 Eval statement.- 9.7 Procedure types.- 10 Modules.- 10.1 Structure.- 10.2 Using modules.- 10.3 An example with graphic elements.- 10.4 Modularization.- 11 Dynamic data structures.- 11.1 Dynamism in static data structures.- 11.2 Dynamic data in Modula-3.- 11.3 Subtypes.- 11.4 Abstract and encapsulated data types.- 11.5 Dynamic structures.- 12 Recursion.- 12.1 Recursive algorithms.- 12.2 Recursive data structures.- 13 Objects.- 13.1 Object-oriented modeling.- 13.2 Object-oriented programming.- 13.3 Object types in Modula-3.- 13.4 Encapsulation of object types.- 14 Persistent data structures.- 14.1 Files.- 14.2 Files in Modula-3.- 14.3 Persistent variables.- 15 Exception handling.- 15.1 Exceptions in a program.- 15.2 Exception handling in Modula-3.- 15.3 Delaying exception handling.- 15.4 Strategies for exception handling.- 16 Parallel programming.- 16.1 Motivation for parallelism.- 16.2 Parallel programs.- 16.3 Threads in Modula-3.- 16.4 Shared variables.- 16.5 Message passing.- A small database.- B Language Definition.- C Library interfaces.- D Modula-3 language environments.