Data-Oriented Programming

Data-Oriented Programming
Title Data-Oriented Programming PDF eBook
Author Yehonathan Sharvit
Publisher Simon and Schuster
Pages 422
Release 2022-08-16
Genre Computers
ISBN 1617298573

Download Data-Oriented Programming Book in PDF, Epub and Kindle

Eliminate the unavoidable complexity of object-oriented designs. The innovative data-oriented programming paradigm makes your systems less complex by making it simpler to access and manipulate data. In Data-Oriented Programming you will learn how to: Separate code from data Represent data with generic data structures Manipulate data with general-purpose functions Manage state without mutating data Control concurrency in highly scalable systems Write data-oriented unit tests Specify the shape of your data Benefit from polymorphism without objects Debug programs without a debugger Data-Oriented Programming is a one-of-a-kind guide that introduces the data-oriented paradigm. This groundbreaking approach represents data with generic immutable data structures. It simplifies state management, eases concurrency, and does away with the common problems you’ll find in object-oriented code. The book presents powerful new ideas through conversations, code snippets, and diagrams that help you quickly grok what’s great about DOP. Best of all, the paradigm is language-agnostic—you’ll learn to write DOP code that can be implemented in JavaScript, Ruby, Python, Clojure, and also in traditional OO languages like Java or C#. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Code that combines behavior and data, as is common in object-oriented designs, can introduce almost unmanageable complexity for state management. The Data-oriented programming (DOP) paradigm simplifies state management by holding application data in immutable generic data structures and then performing calculations using non-mutating general-purpose functions. Your applications are free of state-related bugs and your code is easier to understand and maintain. About the book Data-Oriented Programming teaches you to design software using the groundbreaking data-oriented paradigm. You’ll put DOP into action to design data models for business entities and implement a library management system that manages state without data mutation. The numerous diagrams, intuitive mind maps, and a unique conversational approach all help you get your head around these exciting new ideas. Every chapter has a lightbulb moment that will change the way you think about programming. What's inside Separate code from data Represent data with generic data structures Manage state without mutating data Control concurrency in highly scalable systems Write data-oriented unit tests Specify the shape of your data About the reader For programmers who have experience with a high-level programming language like JavaScript, Java, Python, C#, Clojure, or Ruby. About the author Yehonathan Sharvit has over twenty years of experience as a software engineer. He blogs, speaks at conferences, and leads Data-Oriented Programming workshops around the world. Table of Contents PART 1 FLEXIBILITY 1 Complexity of object-oriented programming 2 Separation between code and data 3 Basic data manipulation 4 State management 5 Basic concurrency control 6 Unit tests PART 2 SCALABILITY 7 Basic data validation 8 Advanced concurrency control 9 Persistent data structures 10 Database operations 11 Web services PART 3 MAINTAINABILITY 12 Advanced data validation 13 Polymorphism 14 Advanced data manipulation 15 Debugging

Live Coding

Live Coding
Title Live Coding PDF eBook
Author Alan F. Blackwell
Publisher MIT Press
Pages 353
Release 2022-11-22
Genre Social Science
ISBN 0262544814

Download Live Coding Book in PDF, Epub and Kindle

The first comprehensive introduction to the origins, aspirations, and evolution of live coding. Performative, improvised, on the fly: live coding is about how people interact with the world and each other via code. In the last few decades, live coding has emerged as a dynamic creative practice gaining attention across cultural and technical fields—from music and the visual arts through to computer science. Live Coding: A User’s Manual is the first comprehensive introduction to the practice, and a broader cultural commentary on the potential for live coding to open up deeper questions about contemporary cultural production and computational culture. This multi-authored book—by artists and musicians, software designers, and researchers—provides a practice-focused account of the origins, aspirations, and evolution of live coding, including expositions from a wide range of live coding practitioners. In a more conceptual register, the authors consider liveness, temporality, and knowledge in relation to live coding, alongside speculating on the practice’s future forms.

Rust in Action

Rust in Action
Title Rust in Action PDF eBook
Author Tim McNamara
Publisher Simon and Schuster
Pages 454
Release 2021-09-07
Genre Computers
ISBN 163835622X

Download Rust in Action Book in PDF, Epub and Kindle

"This well-written book will help you make the most of what Rust has to offer." - Ramnivas Laddad, author of AspectJ in Action Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. Summary Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You'll be learning Rust by delving into how computers work under the hood. You'll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You'll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you'll go beyond the Rust syntax and see what Rust has to offer in real-world use cases. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Rust is the perfect language for systems programming. It delivers the low-level power of C along with rock-solid safety features that let you code fearlessly. Ideal for applications requiring concurrency, Rust programs are compact, readable, and blazingly fast. Best of all, Rust’s famously smart compiler helps you avoid even subtle coding errors. About the book Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. You’ll explore Rust implementations for file manipulation, networking, and kernel-level programming and discover awesome techniques for parallelism and concurrency. Along the way, you’ll master Rust’s unique borrow checker model for memory management without a garbage collector. What's inside Elementary to advanced Rust programming Practical examples from systems programming Command-line, graphical and networked applications About the reader For intermediate programmers. No previous experience with Rust required. About the author Tim McNamara uses Rust to build data processing pipelines and generative art. He is an expert in natural language processing and data engineering. Table of Contents 1 Introducing Rust PART 1 RUST LANGUAGE DISTINCTIVES 2 Language foundations 3 Compound data types 4 Lifetimes, ownership, and borrowing PART 2 DEMYSTIFYING SYSTEMS PROGRAMMING 5 Data in depth 6 Memory 7 Files and storage 8 Networking 9 Time and timekeeping 10 Processes, threads, and containers 11 Kernel 12 Signals, interrupts, and exceptions

Performing Electronic Music Live

Performing Electronic Music Live
Title Performing Electronic Music Live PDF eBook
Author Kirsten Hermes
Publisher CRC Press
Pages 347
Release 2021-12-28
Genre Music
ISBN 1000470261

Download Performing Electronic Music Live Book in PDF, Epub and Kindle

Performing Electronic Music Live lays out conceptual approaches, tools, and techniques for electronic music performance, from DJing, DAWs, MIDI controllers, traditional instruments, live sound design, hardware setups, custom software and hardware, to live visuals, venue acoustics, and live show promotion. Through case studies and contrasting tutorials by successful artists, Kirsten Hermes explores the many different ways in which you can create memorable experiences on stage. Featuring interviews with highly accomplished musicians and practitioners, readers can also expand on their knowledge with hands-on video tutorials for each chapter via the companion website, performingelectronicmusic.live. Performing Electronic Music Live is an essential, all-encompassing resource for professionals, students of music production courses, and researchers in the field of creative-focused performance technology.

Critical Code Studies

Critical Code Studies
Title Critical Code Studies PDF eBook
Author Mark C. Marino
Publisher MIT Press
Pages 289
Release 2020-03-10
Genre Computers
ISBN 0262357437

Download Critical Code Studies Book in PDF, Epub and Kindle

An argument that we must read code for more than what it does—we must consider what it means. Computer source code has become part of popular discourse. Code is read not only by programmers but by lawyers, artists, pundits, reporters, political activists, and literary scholars; it is used in political debate, works of art, popular entertainment, and historical accounts. In this book, Mark Marino argues that code means more than merely what it does; we must also consider what it means. We need to learn to read code critically. Marino presents a series of case studies—ranging from the Climategate scandal to a hactivist art project on the US-Mexico border—as lessons in critical code reading. Marino shows how, in the process of its circulation, the meaning of code changes beyond its functional role to include connotations and implications, opening it up to interpretation and inference—and misinterpretation and reappropriation. The Climategate controversy, for example, stemmed from a misreading of a bit of placeholder code as a “smoking gun” that supposedly proved fabrication of climate data. A poetry generator created by Nick Montfort was remixed and reimagined by other poets, and subject to literary interpretation. Each case study begins by presenting a small and self-contained passage of code—by coders as disparate as programming pioneer Grace Hopper and philosopher Friedrich Kittler—and an accessible explanation of its context and functioning. Marino then explores its extra-functional significance, demonstrating a variety of interpretive approaches.

Software Studies

Software Studies
Title Software Studies PDF eBook
Author Matthew Fuller
Publisher MIT Press
Pages 349
Release 2008
Genre Computer programs
ISBN 0262062747

Download Software Studies Book in PDF, Epub and Kindle

This collection of short expository, critical and speculative texts offers a field guide to the cultural, political, social and aesthetic impact of software. Experts from a range of disciplines each take a key topic in software and the understanding of software, such as algorithms and logical structures.

The Nature of Code

The Nature of Code
Title The Nature of Code PDF eBook
Author Daniel Shiffman
Publisher No Starch Press
Pages 642
Release 2024-09-03
Genre Computers
ISBN 1718503717

Download The Nature of Code Book in PDF, Epub and Kindle

All aboard The Coding Train! This beginner-friendly creative coding tutorial is designed to grow your skills in a fun, hands-on way as you build simulations of real-world phenomena with “The Coding Train” YouTube star Daniel Shiffman. What if you could re-create the awe-inspiring flocking patterns of birds or the hypnotic dance of fireflies—with code? For over a decade, The Nature of Code has empowered countless readers to do just that, bridging the gap between creative expression and programming. This innovative guide by Daniel Shiffman, creator of the beloved Coding Train, welcomes budding and seasoned programmers alike into a world where code meets playful creativity. This JavaScript-based edition of Shiffman’s groundbreaking work gently unfolds the mysteries of the natural world, turning complex topics like genetic algorithms, physics-based simulations, and neural networks into accessible and visually stunning creations. Embark on this extraordinary adventure with projects involving: A physics engine: Simulate the push and pull of gravitational attraction. Flocking birds: Choreograph the mesmerizing dance of a flock. Branching trees: Grow lifelike and organic tree structures. Neural networks: Craft intelligent systems that learn and adapt. Cellular automata: Uncover the magic of self-organizing patterns. Evolutionary algorithms: Play witness to natural selection in your code. Shiffman’s work has transformed thousands of curious minds into creators, breaking down barriers between science, art, and technology, and inviting readers to see code not just as a tool for tasks but as a canvas for boundless creativity. Whether you’re deciphering the elegant patterns of natural phenomena or crafting your own digital ecosystems, Shiffman’s guidance is sure to inform and inspire. The Nature of Code is not just about coding; it’s about looking at the natural world in a new way and letting its wonders inspire your next creation. Dive in and discover the joy of turning code into art—all while mastering coding fundamentals along the way. NOTE: All examples are written with p5.js, a JavaScript library for creative coding, and are available on the book's website.