From Mathematics to Generic Programming

From Mathematics to Generic Programming
Title From Mathematics to Generic Programming PDF eBook
Author Alexander A. Stepanov
Publisher Addison-Wesley Professional
Pages 311
Release 2014-11-13
Genre Computers
ISBN 0133491781

Download From Mathematics to Generic Programming Book in PDF, Epub and Kindle

In this substantive yet accessible book, pioneering software designer Alexander Stepanov and his colleague Daniel Rose illuminate the principles of generic programming and the mathematical concept of abstraction on which it is based, helping you write code that is both simpler and more powerful. If you’re a reasonably proficient programmer who can think logically, you have all the background you’ll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you’ll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You’ll also gain deep insight into the value of mathematics to programming—insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn about How to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiency Ancient paradoxes, beautiful theorems, and the productive tension between continuous and discrete A simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on it Powerful mathematical approaches to abstraction How abstract algebra provides the idea at the heart of generic programming Axioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structures Surprising subtleties of simple programming tasks and what you can learn from them How practical implementations can exploit theoretical knowledge

Generic Programming and the STL

Generic Programming and the STL
Title Generic Programming and the STL PDF eBook
Author Matthew H. Austern
Publisher Addison-Wesley Professional
Pages 584
Release 1999
Genre Computers
ISBN

Download Generic Programming and the STL Book in PDF, Epub and Kindle

Introduces programmers to the generic programming paradigm and to the C++ Standard Template Library and its use as an extensible framework for generic and interoperable components. Explains ideas underlying generic programming and shows how to create algorithms decoupled from the types and data structures they operate on, and how to write more efficient code that can be used and reused across platforms. Assumes familiarity with C++ and algorithms. Annotation copyrighted by Book News, Inc., Portland, OR

Modern C++ Design

Modern C++ Design
Title Modern C++ Design PDF eBook
Author Andrei Alexandrescu
Publisher Addison-Wesley Professional
Pages 352
Release 2001
Genre Computers
ISBN 9780201704310

Download Modern C++ Design Book in PDF, Epub and Kindle

This title documents a convergence of programming techniques - generic programming, template metaprogramming, object-oriented programming and design patterns. It describes the C++ techniques used in generic programming and implements a number of industrial strength components.

Datatype-Generic Programming

Datatype-Generic Programming
Title Datatype-Generic Programming PDF eBook
Author Roland Backhouse
Publisher Springer Science & Business Media
Pages 379
Release 2007-11-30
Genre Computers
ISBN 3540767851

Download Datatype-Generic Programming Book in PDF, Epub and Kindle

This tutorial book presents six carefully revised lectures given at the Spring School on Datatype-Generic Programming, SSDGP 2006. This was held in Nottingham, UK, in April 2006. It was colocated with the Symposium on Trends in Functional Programming (TFP 2006), and the Conference of the Types Project (TYPES 2006). All the lectures have been subjected to thorough internal review by the editors and contributors, supported by independent external reviews.

Generic Programming

Generic Programming
Title Generic Programming PDF eBook
Author Jeremy Gibbons
Publisher Springer
Pages 249
Release 2013-04-17
Genre Computers
ISBN 038735672X

Download Generic Programming Book in PDF, Epub and Kindle

Generic programming is about making programs more adaptable by making them more general. Generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instantiating their parameters. In contrast with normal programs, the parameters of a generic program are often quite rich in structure; for example, they may be other programs, types or type constructors, class hierarchies, or even programming paradigms. Generic programming techniques have always been of interest, both to practitioners and to theoreticians, but only recently have generic programming techniques become a specific focus of research in the functional and object-oriented programming language communities. Generic Programming comprises the edited proceedings of the Working Conference on Generic Programming, which was sponsored by the International Federation for Information Processing (IFIP) and held in Dagstuhl, Germany in July 2002. With contributions from leading researchers around the world, this volume captures the state of the art in this important emerging area.

Elements of Programming

Elements of Programming
Title Elements of Programming PDF eBook
Author Alexander Stepanov
Publisher Lulu.com
Pages 282
Release 2019-06-27
Genre Computers
ISBN 0578222140

Download Elements of Programming Book in PDF, Epub and Kindle

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. The 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.

Programming with Types

Programming with Types
Title Programming with Types PDF eBook
Author Vlad Riscutia
Publisher Simon and Schuster
Pages 531
Release 2019-10-31
Genre Computers
ISBN 1638350264

Download Programming with Types Book in PDF, Epub and Kindle

Summary Programming with Types teaches you to design safe, resilient, correct software that’s easy to maintain and understand by taking advantage of the power of strong type systems. Designed to provide practical, instantly useful techniques for working developers, this clearly written tutorial introduces you to using type systems to support everyday programming tasks. About the technology Common bugs often result from mismatched data types. By precisely naming and controlling which data are allowable in a calculation, a strong type system can eliminate whole classes of errors and ensure data integrity throughout an application. As a developer, skillfully using types in your everyday practice leads to better code and saves time tracking down tricky data-related errors. About the book Programming with Types teaches type-based techniques for writing software that’s safe, correct, easy to maintain, and practically self-documenting. Designed for working developers, this clearly written tutorial sticks with the practical benefits of type systems for everyday programming tasks. Following real-world examples coded in TypeScript, you’ll build your skills from primitive types up to more-advanced concepts like functors and monads. What's inside Building data structures with primitive types, arrays, and references How types affect functions, inheritance, and composition Object-oriented programming with types Applying generics and higher-kinded types About the reader You’ll need experience with a mainstream programming language like TypeScript, Java, JavaScript, C#, or C++. About the author Vlad Riscutia is a principal software engineer at Microsoft. He has headed up several major software projects and mentors up-and-coming software engineers.