A Practical Theory of Programming

A Practical Theory of Programming
Author :
Publisher : Springer Science & Business Media
Total Pages : 257
Release :
ISBN-10 : 9781441985965
ISBN-13 : 1441985964
Rating : 4/5 (65 Downloads)

Synopsis A Practical Theory of Programming by : Eric C.R. Hehner

There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.

Practical Foundations for Programming Languages

Practical Foundations for Programming Languages
Author :
Publisher : Cambridge University Press
Total Pages : 513
Release :
ISBN-10 : 9781107150300
ISBN-13 : 1107150302
Rating : 4/5 (00 Downloads)

Synopsis Practical Foundations for Programming Languages by : Robert Harper

This book unifies a broad range of programming language concepts under the framework of type systems and structural operational semantics.

Functional Programming

Functional Programming
Author :
Publisher : Addison-Wesley Professional
Total Pages : 616
Release :
ISBN-10 : UOM:39015017699474
ISBN-13 :
Rating : 4/5 (74 Downloads)

Synopsis Functional Programming by : Bruce J. MacLennan

Types and Programming Languages

Types and Programming Languages
Author :
Publisher : MIT Press
Total Pages : 646
Release :
ISBN-10 : 9780262303828
ISBN-13 : 0262303825
Rating : 4/5 (28 Downloads)

Synopsis Types and Programming Languages by : Benjamin C. Pierce

A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.

Drawing Programs: The Theory and Practice of Schematic Functional Programming

Drawing Programs: The Theory and Practice of Schematic Functional Programming
Author :
Publisher : Springer Science & Business Media
Total Pages : 401
Release :
ISBN-10 : 9781848826182
ISBN-13 : 1848826184
Rating : 4/5 (82 Downloads)

Synopsis Drawing Programs: The Theory and Practice of Schematic Functional Programming by : Tom Addis

Drawing Programs: The Theory and Practice of Schematic Functional Programming describes a diagrammatic (schematic) approach to programming. It introduces a sophisticated tool for programmers who would rather work with diagrams than with text. The language is a complete functional language that has evolved into a representation scheme that is unique. The result is a simple coherent description of the process of modelling with the computer. The experience of using this tool is introduced gradually with examples, small projects and exercises. The new computational theory behind the tool is interspersed between these practical descriptions so that the reasons for the activity can be understood and the activity, in turn, illustrates some elements of the theory Access to the tool, its source code and a set of examples that range from the simple to the complex is free (see www.springer.com/978-1-84882-617-5). A description of the tool’s construction and how it may be extended is also given. The authors’ experience with undergraduates and graduates who have the understanding and skill of a functional language learnt through using schema have also shown an enhanced ability to program in other computer languages. Readers are provided with a set of concepts that will ensure a good robust program design and, what is more important, a path to error free programming.

Elements of Programming

Elements of Programming
Author :
Publisher : Lulu.com
Total Pages : 282
Release :
ISBN-10 : 9780578222141
ISBN-13 : 0578222140
Rating : 4/5 (41 Downloads)

Synopsis Elements of Programming by : Alexander Stepanov

Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. This book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.

Distributed Programming

Distributed Programming
Author :
Publisher : Springer Science & Business Media
Total Pages : 389
Release :
ISBN-10 : 9781461448815
ISBN-13 : 1461448816
Rating : 4/5 (15 Downloads)

Synopsis Distributed Programming by : A. Udaya Shankar

Distributed Programming: Theory and Practice presents a practical and rigorous method to develop distributed programs that correctly implement their specifications. The method also covers how to write specifications and how to use them. Numerous examples such as bounded buffers, distributed locks, message-passing services, and distributed termination detection illustrate the method. Larger examples include data transfer protocols, distributed shared memory, and TCP network sockets. Distributed Programming: Theory and Practice bridges the gap between books that focus on specific concurrent programming languages and books that focus on distributed algorithms. Programs are written in a "real-life" programming notation, along the lines of Java and Python with explicit instantiation of threads and programs. Students and programmers will see these as programs and not "merely" algorithms in pseudo-code. The programs implement interesting algorithms and solve problems that are large enough to serve as projects in programming classes and software engineering classes. Exercises and examples are included at the end of each chapter with on-line access to the solutions. Distributed Programming: Theory and Practice is designed as an advanced-level text book for students in computer science and electrical engineering. Programmers, software engineers and researchers working in this field will also find this book useful.

Practical Programming

Practical Programming
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 554
Release :
ISBN-10 : 9781680504125
ISBN-13 : 1680504126
Rating : 4/5 (25 Downloads)

Synopsis Practical Programming by : Paul Gries

Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6.

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.

Theoretical Aspects of Object-oriented Programming

Theoretical Aspects of Object-oriented Programming
Author :
Publisher : MIT Press
Total Pages : 568
Release :
ISBN-10 : 026207155X
ISBN-13 : 9780262071550
Rating : 4/5 (5X Downloads)

Synopsis Theoretical Aspects of Object-oriented Programming by : Carl A. Gunter

Although the theory of object-oriented programming languages is far from complete, this book brings together the most important contributions to its development to date, focusing in particular on how advances in type systems and semantic models can contribute to new language designs.The fifteen chapters are divided into five parts: Objects and Subtypes, Type Inference, Coherence, Record Calculi, and Inheritance. The chapters are organized approximately in order of increasing complexity of the programming language constructs they consider - beginning with variations on Pascal- and Algol-like languages, developing the theory of illustrative record object models, and concluding with research directions for building a more comprehensive theory of object-oriented programming languages.Part I discusses the similarities and differences between "objects" and algebraic-style abstract data types, and the fundamental concept of a subtype. Parts II-IV are concerned with the "record model" of object-oriented languages. Specifically, these chapters discuss static and dynamic semantics of languages with simple object models that include a type or class hierarchy but do not explicitly provide what is often called dynamic binding. Part V considers extensions and modifications to record object models, moving closer to the full complexity of practical object-oriented languages.Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania. John C. Mitchell is Professor in the Department of Computer Science at Stanford University.