Image from Google Jackets

Programming language design concepts / David A. Watt ; with contributions by William Findlay.

By: Contributor(s): Material type: TextTextPublication details: Chichester : John Wiley & Sons, c2004.Description: xviii, 473 p. : ill. ; 24 cmISBN:
  • 0470853204 (pbk. : acidfree paper)
Subject(s): DDC classification:
  • 005.13 22
LOC classification:
  • QA76.7 .W388 2004
Contents:
Preface.PART I: INTRODUCTION.1. Programming Languages.1.1 Programming linguistics.1.1.1 Concepts and paradigms.1.1.2 Syntax, semantics, and pragmatics.1.1.3 Language processors.1.2 Historical development.Summary.Further reading.Exercises.PART II: BASIC CONCEPTS2. Values and Types.2.1 Types.2.2 Primitive types.2.2.1 Built-in primitive types.2.2.2 Defined primitive types.2.2.3 Discrete primitive types.2.3 Composite types.2.3.1 Cartesian products, structures, and records.2.3.2 Mappings, arrays, and functions.2.3.3 Disjoint unions, discriminated records, and objects.2.4 Recursive types.2.4.1 Lists.2.4.2 Strings.2.4.3 Recursive types in general.2.5 Type systems.2.5.1 Static vs dynamic typing.2.5.2 Type equivalence.2.5.3 The Type Completeness Principle.2.6 Expressions.2.6.1 Literals.2. 6.2 Constructions.2.6.3 Function calls.2.6.4 Conditional expressions.2.6.5 Iterative expressions.2.6.6 Constant and variable accesses.2.7 Implementation notes.2.7.1 Representation of primitive types.2.7.2 Representation of Cartesian products.2.7.3 Representation of arrays.2.7.4 Representation of disjoint unions.2.7.5 Representation of recursive types.Summary.Further reading.Exercises.3. Variables and Storage.3.1 Variables and storage.3.2 Simple variables.3.3 Composite variables.3.3.1 Total vs selective update.3.3.2 Static vs dynamic vs flexible arrays.3.4 Copy semantics vs reference semantics.3.5 Lifetime.3.5.1 Global and local variables.3.5.2 Heap variables.3.5.3 Persistent variables.3.6 Pointers.3.6.1 Pointers and recursive types.3.6.2 Dangling pointers.3.7 Commands.3.7.1 Skips.3.7.2 Assignments.3.7.3 Procedure calls.3.7.4 Sequential commands.3.7.5 Collateral commands.3.7.6 Conditional commands.3.7.7 Iterative commands.3.8 Expressions with side effects.3.8.1 Command expressions.3.8.2 Expression-oriented languages.3.9 Implementation notes3.9.1 Storage for global and local variables.3.9.2 Storage for heap variables.Summary.Further reading.Exercises.4. Bindings and Scope.4.1
Summary: This book explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major paradigms: imperative, OO, concurrent, functional, logic and with recent scripting languages. It gives greatest prominence to the OO paradigm. It includes numerous examples using C, Java and C++ as exemplar languages. It features additional case study languages: Python, Haskell, Prolog and Ada. It provides extensive end of chapter exercises with sample solutions on the companion Web site. It deepens study by examining the motivation of programming languages not just their features.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Copy number Status Barcode
Books Library First Floor QA76.7 .W388 2004 (Browse shelf(Opens below)) 2 Available 8854
Books Library First Floor QA76.7 .W388 2004 (Browse shelf(Opens below)) 1 Available 8855

Includes bibliographical references (p. 449-451) and index.

Preface.PART I: INTRODUCTION.1. Programming Languages.1.1 Programming linguistics.1.1.1 Concepts and paradigms.1.1.2 Syntax, semantics, and pragmatics.1.1.3 Language processors.1.2 Historical development.Summary.Further reading.Exercises.PART II: BASIC CONCEPTS2. Values and Types.2.1 Types.2.2 Primitive types.2.2.1 Built-in primitive types.2.2.2 Defined primitive types.2.2.3 Discrete primitive types.2.3 Composite types.2.3.1 Cartesian products, structures, and records.2.3.2 Mappings, arrays, and functions.2.3.3 Disjoint unions, discriminated records, and objects.2.4 Recursive types.2.4.1 Lists.2.4.2 Strings.2.4.3 Recursive types in general.2.5 Type systems.2.5.1 Static vs dynamic typing.2.5.2 Type equivalence.2.5.3 The Type Completeness Principle.2.6 Expressions.2.6.1 Literals.2. 6.2 Constructions.2.6.3 Function calls.2.6.4 Conditional expressions.2.6.5 Iterative expressions.2.6.6 Constant and variable accesses.2.7 Implementation notes.2.7.1 Representation of primitive types.2.7.2 Representation of Cartesian products.2.7.3 Representation of arrays.2.7.4 Representation of disjoint unions.2.7.5 Representation of recursive types.Summary.Further reading.Exercises.3. Variables and Storage.3.1 Variables and storage.3.2 Simple variables.3.3 Composite variables.3.3.1 Total vs selective update.3.3.2 Static vs dynamic vs flexible arrays.3.4 Copy semantics vs reference semantics.3.5 Lifetime.3.5.1 Global and local variables.3.5.2 Heap variables.3.5.3 Persistent variables.3.6 Pointers.3.6.1 Pointers and recursive types.3.6.2 Dangling pointers.3.7 Commands.3.7.1 Skips.3.7.2 Assignments.3.7.3 Procedure calls.3.7.4 Sequential commands.3.7.5 Collateral commands.3.7.6 Conditional commands.3.7.7 Iterative commands.3.8 Expressions with side effects.3.8.1 Command expressions.3.8.2 Expression-oriented languages.3.9 Implementation notes3.9.1 Storage for global and local variables.3.9.2 Storage for heap variables.Summary.Further reading.Exercises.4. Bindings and Scope.4.1

This book explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major paradigms: imperative, OO, concurrent, functional, logic and with recent scripting languages. It gives greatest prominence to the OO paradigm. It includes numerous examples using C, Java and C++ as exemplar languages. It features additional case study languages: Python, Haskell, Prolog and Ada. It provides extensive end of chapter exercises with sample solutions on the companion Web site. It deepens study by examining the motivation of programming languages not just their features.

There are no comments on this title.

to post a comment.
New Arrivals

Loading...

Contact Us

Library: Location maps

Phone: 00968 2323 7091 Email: Ask us a question

Library Hours

Sunday - Thursday 7:30AM - 8:00 PM

Friday - Saturday Closed