Modern Programming Languages A Practical Introduction

ISBN-10: 1887902767

ISBN-13: 9781887902762

Edition: 2002

List price: $70.00
30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description:

Typical undergraduate CS/CE majors have a practical orientation: they study computing because they like programming and are good at it. This book has strong appeal to this core student group. There is more than enough material for a semester-long course. The challenge for a course in programming language concepts is to help practical students understand programming languages at an unaccustomed level of abstraction. To help meet this challenge, the book includes enough hands-on programming exercises and examples to motivate students whose primary interest in computing is practical
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS PowerPoint® 2010 Online content $4.95 $1.99
Customers also bought
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $70.00
Copyright year: 2002
Publisher: Franklin, Beedle & Associates, Incorporated
Binding: Hardcover
Pages: 576
Size: 8.00" wide x 9.50" long x 1.25" tall
Weight: 2.596
Language: English

Preface
Acknowledgments
Programming Languages
The Amazing Variety
The Odd Controversies
The Intriguing Evolution
The Many Connections
A Word about Application Programming Interfaces
Defining Program Syntax
A Grammar Example for English
A Grammar Example for a Programming Language
A Definition of Grammars: Backus-Naur Form
Writing Grammars
Lexical Structure and Phrase Structure
Other Grammar Forms
Where Syntax Meets Semantics
Operators
Precedence
Associativity
Other Ambiguities
Cluttered Grammars
Parse Trees and EBNF
Abstract Syntax Trees
Language Systems
The Classical Sequence
Variations on the Classical Sequence
Binding Times
Debuggers
Runtime Support
A First Look at ML
Getting Started with an ML Language System
Constants
Operators
Conditional Expressions
Type Conversion and Function Application
Variable Definition
Garbage Collection
Tuples and Lists
Function Definitions
ML Types and Type Annotations
Types
A Menagerie of Types
Uses for Types
A Second Look at ML
Patterns You Already Know
More Simple Patterns
Complex Patterns
A Summary of ML Patterns So Far
Using Multiple Patterns for Functions
Pattern-Matching Style
Local Variable Definitions
Nested Function Definitions
Polymorphism
Overloading
Parameter Coercion
Parametric Polymorphism
Subtype Polymorphism
A Third Look at ML
More Pattern Matching
Function Values and Anonymous Functions
Higher-Order Functions and Currying
Predefined Higher-Order Functions
Scope
Definitions and Scope
Scoping with Blocks
Scoping with Labeled Namespaces
Scoping with Primitive Namespaces
Dynamic Scoping
A Word about Separate Compilation
A Fourth Look at ML
Enumerations
Data Constructors with Parameters
Type Constructors with Parameters
Recursively-Defined Type Constructors
Memory Locations for Variables
Activation-Specific Variables
Activation Records
Static Allocation of Activation Records
Dynamic Stacks of Activation Records
Handling Nested Function Definitions
Functions as Parameters
Long-Lived Functions
A First Look at Java
Thinking about Objects
Simple Expressions and Statements
Class Definitions
About References and Pointers
Getting Started with a Java Language System
Memory Management
A Memory Model Using Java Arrays
Stacks
Heaps
Current Heap Links
A Second Look at Java
Implementing Interfaces
Extending Classes
Extending and Implementing
Multiple Inheritance and How to Live without It
Generics and How to Live without Them
Object Orientation
Object-Oriented Programming
A Menagerie of Object-Oriented Language Features
A Third Look at Java
Throwable Classes
Catching Exceptions
Throwing Exceptions
Checked Exceptions
Error Handling
Finally
Parameters
Correspondence
By Value
By Result
By Value-Result
By Reference
By Macro Expansion
By Name
By Need
Specification Issues
A First Look at Prolog
The Building Blocks--Prolog Terms
Getting Started with a Prolog Language System
Rules
The Two Faces of Prolog
A Word about Term Interpretation
Operators
Lists
Negation and Failure
What Prolog Is Good For
A Second Look at Prolog
Unification
A Procedural View
An Implementational View
An Abstract View--Proof Trees
The Lighter Side of Prolog
Cost Models
A Cost Model for Lists
A Cost Model for Function Calls
A Cost Model for Prolog Search
A Cost Model for Arrays
Spurious Cost Models
A Third Look at Prolog
Numeric Computation
Problem Space Search
Formal Semantics
Language One
Language Two--Adding Variables
Language Three--Adding Functions
Other Kinds of Formal Semantics
The History of Programming Languages
The Prehistory of Programming
Early Programming Languages
This Book's Languages
Postscript
Index
×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×