Seven More Languages in Seven Weeks

Seven More Languages in Seven Weeks

Author: Bruce Tate

Publisher: Pragmatic Bookshelf

Published: 2014-11-19

Total Pages: 413

ISBN-13: 1680504746

DOWNLOAD EBOOK

Great programmers aren't born--they're made. The industry is moving from object-oriented languages to functional languages, and you need to commit to radical improvement. New programming languages arm you with the tools and idioms you need to refine your craft. While other language primers take you through basic installation and "Hello, World," we aim higher. Each language in Seven More Languages in Seven Weeks will take you on a step-by-step journey through the most important paradigms of our time. You'll learn seven exciting languages: Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris. Learn from the award-winning programming series that inspired the Elixir language. Hear how other programmers across broadly different communities solve problems important enough to compel language development. Expand your perspective, and learn to solve multicore and distribution problems. In each language, you'll solve a non-trivial problem, using the techniques that make that language special. Write a fully functional game in Elm, without a single callback, that compiles to JavaScript so you can deploy it in any browser. Write a logic program in Clojure using a programming model, MiniKanren, that is as powerful as Prolog but much better at interacting with the outside world. Build a distributed program in Elixir with Lisp-style macros, rich Ruby-like syntax, and the richness of the Erlang virtual machine. Build your own object layer in Lua, a statistical program in Julia, a proof in code with Idris, and a quiz game in Factor. When you're done, you'll have written programs in five different programming paradigms that were written on three different continents. You'll have explored four languages on the leading edge, invented in the past five years, and three more radically different languages, each with something significant to teach you.


Book Synopsis Seven More Languages in Seven Weeks by : Bruce Tate

Download or read book Seven More Languages in Seven Weeks written by Bruce Tate and published by Pragmatic Bookshelf. This book was released on 2014-11-19 with total page 413 pages. Available in PDF, EPUB and Kindle. Book excerpt: Great programmers aren't born--they're made. The industry is moving from object-oriented languages to functional languages, and you need to commit to radical improvement. New programming languages arm you with the tools and idioms you need to refine your craft. While other language primers take you through basic installation and "Hello, World," we aim higher. Each language in Seven More Languages in Seven Weeks will take you on a step-by-step journey through the most important paradigms of our time. You'll learn seven exciting languages: Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris. Learn from the award-winning programming series that inspired the Elixir language. Hear how other programmers across broadly different communities solve problems important enough to compel language development. Expand your perspective, and learn to solve multicore and distribution problems. In each language, you'll solve a non-trivial problem, using the techniques that make that language special. Write a fully functional game in Elm, without a single callback, that compiles to JavaScript so you can deploy it in any browser. Write a logic program in Clojure using a programming model, MiniKanren, that is as powerful as Prolog but much better at interacting with the outside world. Build a distributed program in Elixir with Lisp-style macros, rich Ruby-like syntax, and the richness of the Erlang virtual machine. Build your own object layer in Lua, a statistical program in Julia, a proof in code with Idris, and a quiz game in Factor. When you're done, you'll have written programs in five different programming paradigms that were written on three different continents. You'll have explored four languages on the leading edge, invented in the past five years, and three more radically different languages, each with something significant to teach you.


Programming the Future

Programming the Future

Author: Sherryl Vint

Publisher: Columbia University Press

Published: 2022-11-01

Total Pages: 163

ISBN-13: 0231552572

DOWNLOAD EBOOK

From 9/11 to COVID-19, the twenty-first century looks increasingly dystopian—and so do its television shows. Long-form science fiction narratives take one step further the fears of today: liberal democracy in crisis, growing economic precarity, the threat of terrorism, and omnipresent corporate control. At the same time, many of these shows attempt to visualize alternatives, using dystopian extrapolations to spotlight the possibility of building a better world. Programming the Future examines how recent speculative television takes on the contradictions of the neoliberal order. Sherryl Vint and Jonathan Alexander consider a range of popular SF narratives of the last two decades, including Battlestar Galactica, Watchmen, Colony, The Man in the High Castle, The Expanse, and Mr. Robot. They argue that science fiction television foregrounds governance as part of explaining the novel institutions and norms of its imagined futures. In so doing, SF shows allegorize and critique contemporary social, political, and economic developments, helping audiences resist the naturalization of the status quo. Vint and Alexander also draw on queer theory to explore the representation of family structures and their relationship to larger social structures. Recasting both dystopian and utopian narratives, Programming the Future shows how depictions of alternative-world political struggles speak to urgent real-world issues of identity, belonging, and social and political change.


Book Synopsis Programming the Future by : Sherryl Vint

Download or read book Programming the Future written by Sherryl Vint and published by Columbia University Press. This book was released on 2022-11-01 with total page 163 pages. Available in PDF, EPUB and Kindle. Book excerpt: From 9/11 to COVID-19, the twenty-first century looks increasingly dystopian—and so do its television shows. Long-form science fiction narratives take one step further the fears of today: liberal democracy in crisis, growing economic precarity, the threat of terrorism, and omnipresent corporate control. At the same time, many of these shows attempt to visualize alternatives, using dystopian extrapolations to spotlight the possibility of building a better world. Programming the Future examines how recent speculative television takes on the contradictions of the neoliberal order. Sherryl Vint and Jonathan Alexander consider a range of popular SF narratives of the last two decades, including Battlestar Galactica, Watchmen, Colony, The Man in the High Castle, The Expanse, and Mr. Robot. They argue that science fiction television foregrounds governance as part of explaining the novel institutions and norms of its imagined futures. In so doing, SF shows allegorize and critique contemporary social, political, and economic developments, helping audiences resist the naturalization of the status quo. Vint and Alexander also draw on queer theory to explore the representation of family structures and their relationship to larger social structures. Recasting both dystopian and utopian narratives, Programming the Future shows how depictions of alternative-world political struggles speak to urgent real-world issues of identity, belonging, and social and political change.


Programming Kotlin

Programming Kotlin

Author: Venkat Subramaniam

Publisher: Pragmatic Bookshelf

Published: 2019-05-31

Total Pages: 450

ISBN-13: 9781680506358

DOWNLOAD EBOOK

Programmers don't just use Kotlin, they love it. Even Google has adopted it as a first-class language for Android development. With Kotlin, you can intermix imperative, functional, and object-oriented styles of programming and benefit from the approach that's most suitable for the problem at hand. Learn to use the many features of this highly concise, fluent, elegant, and expressive statically typed language with easy-to-understand examples. Learn to write easy-to-maintain, high-performing JVM and Android applications, create DSLs, program asynchrony, and much more. Kotlin is a highly concise, elegant, fluent, and expressive statically typed multi-paradigm language. It is one of the few languages that compiles down to both Java bytecode and JavaScript. You can use it to build server-side, front-end, and Android applications. With Kotlin, you need less code to accomplish your tasks, while keeping the code type-safe and less prone to error. If you want to learn the essentials of Kotlin, from the fundamentals to more advanced concepts, you've picked the right book. Fire up your favorite IDE and practice hundreds of examples and exercises to sharpen your Kotlin skills. Learn to build standalone small programs to run as scripts, create type safe code, and then carry that knowledge forward to create fully object-oriented and functional style code that's easier to extend. Learn how to program with elegance but without compromising efficiency or performance, and how to use metaprogramming to build highly expressive code and create internal DSLs that exploit the fluency of the language. Explore coroutines, program asynchrony, run automated tests, and intermix Kotlin with Java in your enterprise applications. This book will help you master one of the few languages that you can use for the entire full stack - from the server to mobile devices - to create performant, concise, and easy to maintain applications. What You Need: To try out the examples in the book you'll need a computer with Kotlin SDK, JDK, and a text editor or a Kotlin IDE installed in it.


Book Synopsis Programming Kotlin by : Venkat Subramaniam

Download or read book Programming Kotlin written by Venkat Subramaniam and published by Pragmatic Bookshelf. This book was released on 2019-05-31 with total page 450 pages. Available in PDF, EPUB and Kindle. Book excerpt: Programmers don't just use Kotlin, they love it. Even Google has adopted it as a first-class language for Android development. With Kotlin, you can intermix imperative, functional, and object-oriented styles of programming and benefit from the approach that's most suitable for the problem at hand. Learn to use the many features of this highly concise, fluent, elegant, and expressive statically typed language with easy-to-understand examples. Learn to write easy-to-maintain, high-performing JVM and Android applications, create DSLs, program asynchrony, and much more. Kotlin is a highly concise, elegant, fluent, and expressive statically typed multi-paradigm language. It is one of the few languages that compiles down to both Java bytecode and JavaScript. You can use it to build server-side, front-end, and Android applications. With Kotlin, you need less code to accomplish your tasks, while keeping the code type-safe and less prone to error. If you want to learn the essentials of Kotlin, from the fundamentals to more advanced concepts, you've picked the right book. Fire up your favorite IDE and practice hundreds of examples and exercises to sharpen your Kotlin skills. Learn to build standalone small programs to run as scripts, create type safe code, and then carry that knowledge forward to create fully object-oriented and functional style code that's easier to extend. Learn how to program with elegance but without compromising efficiency or performance, and how to use metaprogramming to build highly expressive code and create internal DSLs that exploit the fluency of the language. Explore coroutines, program asynchrony, run automated tests, and intermix Kotlin with Java in your enterprise applications. This book will help you master one of the few languages that you can use for the entire full stack - from the server to mobile devices - to create performant, concise, and easy to maintain applications. What You Need: To try out the examples in the book you'll need a computer with Kotlin SDK, JDK, and a text editor or a Kotlin IDE installed in it.


Trends in Functional Programming Volume 6

Trends in Functional Programming Volume 6

Author: Marko Van Eekelen

Publisher: Intellect Books

Published: 2005-06-01

Total Pages: 240

ISBN-13: 1841509906

DOWNLOAD EBOOK

This is Volume 7 of Trends in Functional Programming (TFP). It contains a refereed selection of the papers that were presented at TFP 2006: the Seventh Symposium on Trends in Functional Programming. which took place in Nottingham, 19-21 April, 2006. TFP is an international forum for researchers from all functional programming communities spanning the entire width of topics in the field. Its goal is to provide a broad view of current and future trends in functional programming in a lively and friendly setting, thus promoting new research directions related to the field of functional programming and the relationship between functional programming and other fields of computer science. True to the spirit of TFP, the selection of papers in this volume covers a wide range of topics, including dependently typed programming, generic programming, purely functional data structures, function synthesis, declarative debugging, implementation of functional programming languages, and memory management. A particular emerging trend is that of dependently typed programming, reflected by a number of papers in the present selection and by the co-location of TFP and Types 2006.


Book Synopsis Trends in Functional Programming Volume 6 by : Marko Van Eekelen

Download or read book Trends in Functional Programming Volume 6 written by Marko Van Eekelen and published by Intellect Books. This book was released on 2005-06-01 with total page 240 pages. Available in PDF, EPUB and Kindle. Book excerpt: This is Volume 7 of Trends in Functional Programming (TFP). It contains a refereed selection of the papers that were presented at TFP 2006: the Seventh Symposium on Trends in Functional Programming. which took place in Nottingham, 19-21 April, 2006. TFP is an international forum for researchers from all functional programming communities spanning the entire width of topics in the field. Its goal is to provide a broad view of current and future trends in functional programming in a lively and friendly setting, thus promoting new research directions related to the field of functional programming and the relationship between functional programming and other fields of computer science. True to the spirit of TFP, the selection of papers in this volume covers a wide range of topics, including dependently typed programming, generic programming, purely functional data structures, function synthesis, declarative debugging, implementation of functional programming languages, and memory management. A particular emerging trend is that of dependently typed programming, reflected by a number of papers in the present selection and by the co-location of TFP and Types 2006.


Scala Reactive Programming

Scala Reactive Programming

Author: Rambabu Posa

Publisher: Packt Publishing Ltd

Published: 2018-02-28

Total Pages: 540

ISBN-13: 1787282872

DOWNLOAD EBOOK

Build fault-tolerant, robust, and distributed applications in Scala Key Features - Understand and use the concepts of reactive programming to build distributed systems running on multiple nodes. - Learn how reactive architecture reduces complexity throughout the development process. - Get to grips with functional reactive programming and Reactive Microservices. Book Description Reactive programming is a scalable, fast way to build applications, and one that helps us write code that is concise, clear, and readable. It can be used for many purposes such as GUIs, robotics, music, and others, and is central to many concurrent systems. This book will be your guide to getting started with Reactive programming in Scala. You will begin with the fundamental concepts of Reactive programming and gradually move on to working with asynchronous data streams. You will then start building an application using Akka Actors and extend it using the Play framework. You will also learn about reactive stream specifications, event sourcing techniques, and different methods to integrate Akka Streams into the Play Framework. This book will also take you one step forward by showing you the advantages of the Lagom framework while working with reactive microservices. You will also learn to scale applications using multi-node clusters and test, secure, and deploy your microservices to the cloud. By the end of the book, you will have gained the knowledge to build robust and distributed systems with Scala and Akka. What you will learn Understand the fundamental principles of Reactive and Functional programming Develop applications utilizing features of the Akka framework Explore techniques to integrate Scala, Akka, and Play together Learn about Reactive Streams with real-time use cases Develop Reactive Web Applications with Play, Scala, Akka, and Akka Streams Develop and deploy Reactive microservices using the Lagom framework and ConductR Who this book is for This book is for Scala developers who would like to build fault-tolerant, scalable distributed systems. No knowledge of Reactive programming is required.


Book Synopsis Scala Reactive Programming by : Rambabu Posa

Download or read book Scala Reactive Programming written by Rambabu Posa and published by Packt Publishing Ltd. This book was released on 2018-02-28 with total page 540 pages. Available in PDF, EPUB and Kindle. Book excerpt: Build fault-tolerant, robust, and distributed applications in Scala Key Features - Understand and use the concepts of reactive programming to build distributed systems running on multiple nodes. - Learn how reactive architecture reduces complexity throughout the development process. - Get to grips with functional reactive programming and Reactive Microservices. Book Description Reactive programming is a scalable, fast way to build applications, and one that helps us write code that is concise, clear, and readable. It can be used for many purposes such as GUIs, robotics, music, and others, and is central to many concurrent systems. This book will be your guide to getting started with Reactive programming in Scala. You will begin with the fundamental concepts of Reactive programming and gradually move on to working with asynchronous data streams. You will then start building an application using Akka Actors and extend it using the Play framework. You will also learn about reactive stream specifications, event sourcing techniques, and different methods to integrate Akka Streams into the Play Framework. This book will also take you one step forward by showing you the advantages of the Lagom framework while working with reactive microservices. You will also learn to scale applications using multi-node clusters and test, secure, and deploy your microservices to the cloud. By the end of the book, you will have gained the knowledge to build robust and distributed systems with Scala and Akka. What you will learn Understand the fundamental principles of Reactive and Functional programming Develop applications utilizing features of the Akka framework Explore techniques to integrate Scala, Akka, and Play together Learn about Reactive Streams with real-time use cases Develop Reactive Web Applications with Play, Scala, Akka, and Akka Streams Develop and deploy Reactive microservices using the Lagom framework and ConductR Who this book is for This book is for Scala developers who would like to build fault-tolerant, scalable distributed systems. No knowledge of Reactive programming is required.


Forge Your Future with Open Source

Forge Your Future with Open Source

Author: VM (Vicky) Brasseur

Publisher: Pragmatic Bookshelf

Published: 2018-10-08

Total Pages: 317

ISBN-13: 1680506390

DOWNLOAD EBOOK

Free and open source is the foundation of software development, and it's built by people just like you. Discover the fundamental tenets that drive the movement. Take control of your career by selecting the right project to meet your professional goals. Master the language and avoid the pitfalls that typically ensnare new contributors. Join a community of like-minded people and change the world. Programmers, writers, designers, and everyone interested in software will make their mark through free and open source software contributions. Free and open source software is the default choice for the programming languages and technologies which run our world today, and it's all built and maintained by people just like you. No matter your skill level or area of expertise, with this book you will contribute to free and open source software projects. Using this practical approach you'll understand not only the mechanics of contributing, but also how doing so helps your career as well as the community. This book doesn't assume that you're a programmer, or even that you have prior experience with free and open source software. Learn what open source is, where it came from, and why it's important. Start on the right foot by mastering the structure and tools you need before you contribute. Choose the right project for you, amplifying the impact of your contribution. Submit your first contribution, whether it's code, writing, design, or community organising. Find out what to do when things don't go the way you expect. Discover how to start your own project and make it friendly and welcoming to contributors. Anyone can contribute! Make your mark today and help others while also helping yourself.


Book Synopsis Forge Your Future with Open Source by : VM (Vicky) Brasseur

Download or read book Forge Your Future with Open Source written by VM (Vicky) Brasseur and published by Pragmatic Bookshelf. This book was released on 2018-10-08 with total page 317 pages. Available in PDF, EPUB and Kindle. Book excerpt: Free and open source is the foundation of software development, and it's built by people just like you. Discover the fundamental tenets that drive the movement. Take control of your career by selecting the right project to meet your professional goals. Master the language and avoid the pitfalls that typically ensnare new contributors. Join a community of like-minded people and change the world. Programmers, writers, designers, and everyone interested in software will make their mark through free and open source software contributions. Free and open source software is the default choice for the programming languages and technologies which run our world today, and it's all built and maintained by people just like you. No matter your skill level or area of expertise, with this book you will contribute to free and open source software projects. Using this practical approach you'll understand not only the mechanics of contributing, but also how doing so helps your career as well as the community. This book doesn't assume that you're a programmer, or even that you have prior experience with free and open source software. Learn what open source is, where it came from, and why it's important. Start on the right foot by mastering the structure and tools you need before you contribute. Choose the right project for you, amplifying the impact of your contribution. Submit your first contribution, whether it's code, writing, design, or community organising. Find out what to do when things don't go the way you expect. Discover how to start your own project and make it friendly and welcoming to contributors. Anyone can contribute! Make your mark today and help others while also helping yourself.


Industrial Robots Programming

Industrial Robots Programming

Author: J. Norberto Pires

Publisher: Springer Science & Business Media

Published: 2007-04-03

Total Pages: 290

ISBN-13: 0387233261

DOWNLOAD EBOOK

Industrial Robots Programming focuses on designing and building robotic manufacturing cells, and explores the capabilities of today’s industrial equipment as well as the latest computer and software technologies. Special attention is given to the input devices and systems that create efficient human-machine interfaces, and how they help non-technical personnel perform necessary programming, control, and supervision tasks. Drawing upon years of practical experience and using numerous examples and illustrative applications, J. Norberto Pires covers robotics programming as it applies to: The current industrial robotic equipment including manipulators, control systems, and programming environments. Software interfaces that can be used to develop distributed industrial manufacturing cells and techniques which can be used to build interfaces between robots and computers. Real-world applications with examples designed and implemented recently in the lab. Industrial Robots Programming has been selected for indexing by Scopus. For more information about Industrial Robotics, please find the author's Industrial Robotics collection at the iTunesU University of Coimbra channel.


Book Synopsis Industrial Robots Programming by : J. Norberto Pires

Download or read book Industrial Robots Programming written by J. Norberto Pires and published by Springer Science & Business Media. This book was released on 2007-04-03 with total page 290 pages. Available in PDF, EPUB and Kindle. Book excerpt: Industrial Robots Programming focuses on designing and building robotic manufacturing cells, and explores the capabilities of today’s industrial equipment as well as the latest computer and software technologies. Special attention is given to the input devices and systems that create efficient human-machine interfaces, and how they help non-technical personnel perform necessary programming, control, and supervision tasks. Drawing upon years of practical experience and using numerous examples and illustrative applications, J. Norberto Pires covers robotics programming as it applies to: The current industrial robotic equipment including manipulators, control systems, and programming environments. Software interfaces that can be used to develop distributed industrial manufacturing cells and techniques which can be used to build interfaces between robots and computers. Real-world applications with examples designed and implemented recently in the lab. Industrial Robots Programming has been selected for indexing by Scopus. For more information about Industrial Robotics, please find the author's Industrial Robotics collection at the iTunesU University of Coimbra channel.


Introduction to Julia Programming

Introduction to Julia Programming

Author: Sandeep Nagar

Publisher:

Published: 2017-05-05

Total Pages: 282

ISBN-13: 9781521233412

DOWNLOAD EBOOK

"Julia walks like Python and runs like C". This phrase explains why Julia is fast growing as the most favoured option for data analytics and numerical computation. Julia is the fastest modern open-source language for data science, machine learning and scientific computing. Julia provides the functionality, ease-of-use and intuitive syntax of R, Python, MATLAB, SAS or Stata combined with the speed, capacity and performance of C, C++ or Java.Present books is both for beginners and experienced users. While experienced users can use this as a reference, new users can learn the fine details of julia program's composition. CHAPETRS: 1. Introduction, 2. Object Oriented programming, 3. Basic maths with Julia, 4. Complex Numbers, 5. Rational and Irrational numbers, 6. Mathematical Functions, 7.Arrays, 8. Arrays for matrix operations, 9. String,s 10. Functions, 11. Control Flow, 12. Input Output, 13.


Book Synopsis Introduction to Julia Programming by : Sandeep Nagar

Download or read book Introduction to Julia Programming written by Sandeep Nagar and published by . This book was released on 2017-05-05 with total page 282 pages. Available in PDF, EPUB and Kindle. Book excerpt: "Julia walks like Python and runs like C". This phrase explains why Julia is fast growing as the most favoured option for data analytics and numerical computation. Julia is the fastest modern open-source language for data science, machine learning and scientific computing. Julia provides the functionality, ease-of-use and intuitive syntax of R, Python, MATLAB, SAS or Stata combined with the speed, capacity and performance of C, C++ or Java.Present books is both for beginners and experienced users. While experienced users can use this as a reference, new users can learn the fine details of julia program's composition. CHAPETRS: 1. Introduction, 2. Object Oriented programming, 3. Basic maths with Julia, 4. Complex Numbers, 5. Rational and Irrational numbers, 6. Mathematical Functions, 7.Arrays, 8. Arrays for matrix operations, 9. String,s 10. Functions, 11. Control Flow, 12. Input Output, 13.


Ideas That Created the Future

Ideas That Created the Future

Author: Harry R. Lewis

Publisher: MIT Press

Published: 2021-02-02

Total Pages: 518

ISBN-13: 026236221X

DOWNLOAD EBOOK

Classic papers by thinkers ranging from from Aristotle and Leibniz to Norbert Wiener and Gordon Moore that chart the evolution of computer science. Ideas That Created the Future collects forty-six classic papers in computer science that map the evolution of the field. It covers all aspects of computer science: theory and practice, architectures and algorithms, and logic and software systems, with an emphasis on the period of 1936-1980 but also including important early work. Offering papers by thinkers ranging from Aristotle and Leibniz to Alan Turing and Nobert Wiener, the book documents the discoveries and inventions that created today's digital world. Each paper is accompanied by a brief essay by Harry Lewis, the volume's editor, offering historical and intellectual context.


Book Synopsis Ideas That Created the Future by : Harry R. Lewis

Download or read book Ideas That Created the Future written by Harry R. Lewis and published by MIT Press. This book was released on 2021-02-02 with total page 518 pages. Available in PDF, EPUB and Kindle. Book excerpt: Classic papers by thinkers ranging from from Aristotle and Leibniz to Norbert Wiener and Gordon Moore that chart the evolution of computer science. Ideas That Created the Future collects forty-six classic papers in computer science that map the evolution of the field. It covers all aspects of computer science: theory and practice, architectures and algorithms, and logic and software systems, with an emphasis on the period of 1936-1980 but also including important early work. Offering papers by thinkers ranging from Aristotle and Leibniz to Alan Turing and Nobert Wiener, the book documents the discoveries and inventions that created today's digital world. Each paper is accompanied by a brief essay by Harry Lewis, the volume's editor, offering historical and intellectual context.


Elements of Programming

Elements of Programming

Author: Alexander Stepanov

Publisher: Lulu.com

Published: 2019-06-27

Total Pages: 282

ISBN-13: 0578222140

DOWNLOAD EBOOK

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.


Book Synopsis Elements of Programming by : Alexander Stepanov

Download or read book Elements of Programming written by Alexander Stepanov and published by Lulu.com. This book was released on 2019-06-27 with total page 282 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.