An Experiential Introduction to Principles of Programming Languages

An Experiential Introduction to Principles of Programming Languages
Author :
Publisher : MIT Press
Total Pages : 305
Release :
ISBN-10 : 9780262045452
ISBN-13 : 0262045451
Rating : 4/5 (52 Downloads)

Synopsis An Experiential Introduction to Principles of Programming Languages by : Hridesh Rajan

A textbook that uses a hands-on approach to teach principles of programming languages, with Java as the implementation language. This introductory textbook uses a hands-on approach to teach the principles of programming languages. Using Java as the implementation language, Rajan covers a range of emerging topics, including concurrency, Big Data, and event-driven programming. Students will learn to design, implement, analyze, and understand both domain-specific and general-purpose programming languages. Develops basic concepts in languages, including means of computation, means of combination, and means of abstraction. Examines imperative features such as references, concurrency features such as fork, and reactive features such as event handling. Covers language features that express differing perspectives of thinking about computation, including those of logic programming and flow-based programming. Presumes Java programming experience and understanding of object-oriented classes, inheritance, polymorphism, and static classes. Each chapter corresponds with a working implementation of a small programming language allowing students to follow along.

An Experiential Introduction to Principles of Programming Languages

An Experiential Introduction to Principles of Programming Languages
Author :
Publisher : MIT Press
Total Pages : 305
Release :
ISBN-10 : 9780262362436
ISBN-13 : 0262362430
Rating : 4/5 (36 Downloads)

Synopsis An Experiential Introduction to Principles of Programming Languages by : Hridesh Rajan

A textbook that uses a hands-on approach to teach principles of programming languages, with Java as the implementation language. This introductory textbook uses a hands-on approach to teach the principles of programming languages. Using Java as the implementation language, Rajan covers a range of emerging topics, including concurrency, Big Data, and event-driven programming. Students will learn to design, implement, analyze, and understand both domain-specific and general-purpose programming languages. Develops basic concepts in languages, including means of computation, means of combination, and means of abstraction. Examines imperative features such as references, concurrency features such as fork, and reactive features such as event handling. Covers language features that express differing perspectives of thinking about computation, including those of logic programming and flow-based programming. Presumes Java programming experience and understanding of object-oriented classes, inheritance, polymorphism, and static classes. Each chapter corresponds with a working implementation of a small programming language allowing students to follow along.

Essentials of Programming Languages, third edition

Essentials of Programming Languages, third edition
Author :
Publisher : MIT Press
Total Pages : 433
Release :
ISBN-10 : 9780262062794
ISBN-13 : 0262062798
Rating : 4/5 (94 Downloads)

Synopsis Essentials of Programming Languages, third edition by : Daniel P. Friedman

A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.

Design Concepts in Programming Languages

Design Concepts in Programming Languages
Author :
Publisher : MIT Press
Total Pages : 1347
Release :
ISBN-10 : 9780262303156
ISBN-13 : 0262303159
Rating : 4/5 (56 Downloads)

Synopsis Design Concepts in Programming Languages by : Franklyn Turbak

Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.

The Definition of Standard ML

The Definition of Standard ML
Author :
Publisher : MIT Press
Total Pages : 132
Release :
ISBN-10 : 0262631814
ISBN-13 : 9780262631815
Rating : 4/5 (14 Downloads)

Synopsis The Definition of Standard ML by : Robin Milner

Software -- Programming Languages.

Foundations for Programming Languages

Foundations for Programming Languages
Author :
Publisher : Mit Press
Total Pages : 846
Release :
ISBN-10 : 0262133210
ISBN-13 : 9780262133210
Rating : 4/5 (10 Downloads)

Synopsis Foundations for Programming Languages by : John C. Mitchell

"Programming languages embody the pragmatics of designing software systems, and also the mathematical concepts which underlie them. Anyone who wants to know how, for example, object-oriented programming rests upon a firm foundation in logic should read this book. It guides one surefootedly through the rich variety of basic programming concepts developed over the past forty years." -- Robin Milner, Professor of Computer Science, The Computer Laboratory, Cambridge University "Programming languages need not be designed in an intellectual vacuum; John Mitchell's book provides an extensive analysis of the fundamental notions underlying programming constructs. A basic grasp of this material is essential for the understanding, comparative analysis, and design of programming languages." -- Luca Cardelli, Digital Equipment Corporation Written for advanced undergraduate and beginning graduate students, "Foundations for Programming Languages" uses a series of typed lambda calculi to study the axiomatic, operational, and denotational semantics of sequential programming languages. Later chapters are devoted to progressively more sophisticated type systems.

Concepts in Programming Languages

Concepts in Programming Languages
Author :
Publisher : Cambridge University Press
Total Pages : 546
Release :
ISBN-10 : 0521780985
ISBN-13 : 9780521780988
Rating : 4/5 (85 Downloads)

Synopsis Concepts in Programming Languages by : John C. Mitchell

A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.

Computer Programming with COMIT II

Computer Programming with COMIT II
Author :
Publisher : MIT Press (MA)
Total Pages : 234
Release :
ISBN-10 : UOM:39015000482441
ISBN-13 :
Rating : 4/5 (41 Downloads)

Synopsis Computer Programming with COMIT II by : Victor H. Yngve

COMIT is a symbol-manipulating (or string-processing) language designed to handle texts, words, characters, logical expressions, descriptors, attributes, tags, and the like, and to manipulate them in the computer in ways that are relevant to problems in a variety of fields. COMIT is a general-purpose language which has been most efficiently used for problems in linguistics, mechanical translation of languages, information retrieval, modeling of cognitive processes, theorem proving, game playing, content analysis, graph theory, and many other primarily nonnumerical problems. In addition, COMIT serves as an introduction to a whole class of programming languages and language design features. This book is derived from two older manuals that have been out of print for some time, An Introduction to COMIT Programmingand COMIT Programmers' Reference Manual(MIT Press 1962). The programs originally run under COMIT will still run under COMIT II; yet this new publication includes improvements in the language that allow easier programming plus additional facilities. COMIT II is designed to be easily learned and used both as a language for a first course in programming for students in a wide range of disciplines and as a second or third programming language for more advanced students who can use this book for self-study. Included are numerous exercises and problems along with answers, as well as problems to be run on the computer under a problem-grader program that may be obtained from the author. COMIT II is fully available on the IBM 7000 series of computers, including the 709, 7090, 7040, and 7044, and a more recent implementation is available for the IBM 360.

A Little Java, a Few Patterns

A Little Java, a Few Patterns
Author :
Publisher : MIT Press
Total Pages : 204
Release :
ISBN-10 : 0262561158
ISBN-13 : 9780262561150
Rating : 4/5 (58 Downloads)

Synopsis A Little Java, a Few Patterns by : Matthias Felleisen

foreword by Ralph E. Johnson and drawings by Duane Bibby 'This is a book of 'why' not 'how.' If you are interested in the nature of computation and curious about the very idea behind object orientation, this book is for you. This book will engage your brain (if not your tummy). Through its sparkling interactive style, you will learn about three essential OO concepts: interfaces, visitors, and factories. A refreshing change from the 'yet another Java book' phenomenon. Every serious Java programmer should own a copy.' -- Gary McGraw, Ph.D., Research Scientist at Reliable Software Technologies and coauthor of Java Security Java is a new object-oriented programming language that was developed by Sun Microsystems for programming the Internet and intelligent appliances. In a very short time it has become one of the most widely used programming languages for education as well as commercial applications. Design patterns, which have moved object-oriented programming to a new level, provide programmers with a language to communicate with others about their designs. As a result, programs become more readable, more reusable, and more easily extensible. In this book, Matthias Felleisen and Daniel Friedman use a small subset of Java to introduce pattern-directed program design. With their usual clarity and flair, they gently guide readers through the fundamentals of object-oriented programming and pattern-based design. Readers new to programming, as well as those with some background, will enjoy their learning experience as they work their way through Felleisen and Friedman's dialogue. src='/graphics/yellowball.gif' href='/books/FELTP/Java-fm.html'Foreword and Preface

Simply Scheme

Simply Scheme
Author :
Publisher : MIT Press
Total Pages : 620
Release :
ISBN-10 : 0262082810
ISBN-13 : 9780262082815
Rating : 4/5 (10 Downloads)

Synopsis Simply Scheme by : Brian Harvey

Showing off scheme - Functions - Expressions - Defining your own procedures - Words and sentences - True and false - Variables - Higher-order functions - Lambda - Introduction to recursion - The leap of faith - How recursion works - Common patterns in recursive procedures - Advanced recursion - Example : the functions program - Files - Vectors - Example : a spreadsheet program - Implementing the spreadsheet program - What's next?