Author | Bartosz Milewski |
Published | 2019 |
Edition | 1 |
Paperback | 498 pages |
Language | English |
ISBN-13 | 9780464243878 |
ISBN-10 | 0464243874 |
License | Creative Commons Attribution-ShareAlike |
Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming.
That's because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well-structured programs are easier to understand and maintain and are less likely to contain bugs. Category theory provides the language to talk about structure and learning it will make you a better programmer.
This book is available under a Creative Commons Attribution-ShareAlike license (CC BY-SA), which means that you are free to copy, distribute, and modify it, as long as you credit the original author and license any derivative works under the same terms.
If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.
So someone has heard about graph databases and wants to understand what all the buzz is about. Are they just a passing trend - here today and gone tomorrow - or are they a rising tide that businesses and development teams can't afford to ignore? Whether they're a business executive or a seasoned developer, something - perhaps a pressing business ch
In a world where web services can make real-time data accessible to anyone, how can the government leverage this openness to improve its operations and increase citizen participation and awareness? Through a collection of essays and case studies, leading visionaries and practitioners both inside and outside of government share their ideas on how to
Object-oriented Programming in C# is a practical guide to OOP concepts using C#, designed for programmers with experience in imperative languages like C or Java. Originally created in 2006, it takes an "object-later" approach, first reinforcing foundational programming skills before introducing object-oriented principles. The material combines anno
This book makes JavaScript less challenging to learn for newcomers by offering a modern view that is as consistent as possible. Highlights: - Get started quickly by initially focusing on modern features. - Test-driven exercises available for most chapters. - Covers all essential features of JavaScript, up to and including ES2022. - Optional advance
This is an optimization manual for advanced C++ programmers. This book are not for beginners. Topics include: - The choice of platform and operating system. - Choice of compiler and framework. - Finding performance bottlenecks. - The efficiency of different C++ constructs. - Multi-core systems. - Parallelization with vector operations. - CPU dispat
Learn how to accelerate C++ programs using data parallelism. This open book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics. Data parallelism in C++ enables