|
![]() |
|||
|
||||
Overviewby 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. Full Product DetailsAuthor: Laszlo Böszörmenyi , J. Weizenbaum , R. Bach , Carsten WeichPublisher: Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Imprint: Springer-Verlag Berlin and Heidelberg GmbH & Co. K Edition: Softcover reprint of the original 1st ed. 1996 Dimensions: Width: 15.50cm , Height: 3.10cm , Length: 23.50cm Weight: 0.908kg ISBN: 9783642646140ISBN 10: 364264614 Pages: 571 Publication Date: 15 September 2011 Audience: Professional and scholarly , Professional & Vocational Format: Paperback Publisher's Status: Active Availability: Manufactured on demand ![]() We will order this item for you from a manufactured on demand supplier. Table of Contents1 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.ReviewsAuthor InformationTab Content 6Author Website:Countries AvailableAll regions |