Fans pick 100 books like Aesthetic Programming

By Winnie Soon, Geoff Cox,

Here are 100 books that Aesthetic Programming fans have personally recommended if you like Aesthetic Programming. Shepherd is a community of 12,000+ authors and super readers sharing their favorite books with the world.

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

Book cover of Getting Started with p5.js: Making Interactive Graphics in JavaScript and Processing

Scott Murray Author Of Unstuck: Javascript

From my list on learning how to code interactive graphics.

Why am I passionate about this?

I’ve been making web pages since the World Wide Web began in the mid-1990s. Back then, the web was visually quite sparse. It wasn’t until the late 2000s that new browser capabilities let the web get visually interesting and an exciting place for interactive graphics. Graphics are great: they can be informational (like charts and maps) or purely aesthetic. My personal journey of learning to code interactive graphics has been so rewarding that I’ve shared the love with others through teaching creative coding workshops and undergraduate courses. If you’re new to coding or computer graphics, I hope you’ll give one of these books a try!

Scott's book list on learning how to code interactive graphics

Scott Murray Why did Scott love this book?

If I were getting started with coding graphics today, I would start with this book, hands down. Learning p5 is the easiest way to create interactive graphics that run in a web browser, and this book is a very friendly, accessible, and beautifully illustrated introduction to coding graphics with p5.js—no prior experience needed. You might be wondering about the name “p5.js”. It’s a JavaScript library (that’s the “.js” part) based on Processing, the open-source programming language created for artists and designers. (More on Processing in a moment.) I have taught college courses with this book, and students love it. Plus, all the skills you learn here with p5 are applicable to JavaScript—the world’s most popular programming language—more generally.

By Lauren McCarthy, Casey Reas, Ben Fry

Why should I read it?

1 author picked Getting Started with p5.js as one of their favorite books, and they share why you should read it.

What is this book about?

Processing opened up the world of programming to artists, designers, educators, and beginners. The p5.js JavaScript implementation of Processing reinterprets it for today's web. This short book gently introduces the core concepts of computer programming and working with Processing. Written by the co-founders of the Processing project, Reas and Fry, along with Lauren McCarthy, one of the minds behind p5.js, Getting Started with Processing gets you in on the fun!


Book cover of Processing: A Programming Handbook for Visual Designers and Artists

Scott Murray Author Of Unstuck: Javascript

From my list on learning how to code interactive graphics.

Why am I passionate about this?

I’ve been making web pages since the World Wide Web began in the mid-1990s. Back then, the web was visually quite sparse. It wasn’t until the late 2000s that new browser capabilities let the web get visually interesting and an exciting place for interactive graphics. Graphics are great: they can be informational (like charts and maps) or purely aesthetic. My personal journey of learning to code interactive graphics has been so rewarding that I’ve shared the love with others through teaching creative coding workshops and undergraduate courses. If you’re new to coding or computer graphics, I hope you’ll give one of these books a try!

Scott's book list on learning how to code interactive graphics

Scott Murray Why did Scott love this book?

This book changed my life. Known simply as “the blue book” in creative coding circles, I discovered this in a bookstore in Cambridge, Mass., just blocks from where Casey and Ben had created Processing at MIT (and then wrote this book). It opened me up to Processing—their programming language for artists and designers—but also to code as a creative medium. Until then, I saw code as a dry, tedious way to fight with computers. Now I know that code can be just as expressive, engaging, and emotional as prose and poetry.

While the syntax in this book is for Processing (which you can download and run on your computer for free), the concepts are equally applicable to p5.js (which runs in a web browser, also for free).

By Casey Reas, Ben Fry,

Why should I read it?

1 author picked Processing as one of their favorite books, and they share why you should read it.

What is this book about?

The new edition of an introduction to computer programming within the context of the visual arts, using the open-source programming language Processing; thoroughly updated throughout.

The visual arts are rapidly changing as media moves into the web, mobile devices, and architecture. When designers and artists learn the basics of writing software, they develop a new form of literacy that enables them to create new media for the present, and to imagine future media that are beyond the capacities of current software tools. This book introduces this new literacy by teaching computer programming within the context of the visual arts. It…


Book cover of The Nature of Code

Scott Murray Author Of Unstuck: Javascript

From my list on learning how to code interactive graphics.

Why am I passionate about this?

I’ve been making web pages since the World Wide Web began in the mid-1990s. Back then, the web was visually quite sparse. It wasn’t until the late 2000s that new browser capabilities let the web get visually interesting and an exciting place for interactive graphics. Graphics are great: they can be informational (like charts and maps) or purely aesthetic. My personal journey of learning to code interactive graphics has been so rewarding that I’ve shared the love with others through teaching creative coding workshops and undergraduate courses. If you’re new to coding or computer graphics, I hope you’ll give one of these books a try!

Scott's book list on learning how to code interactive graphics

Scott Murray Why did Scott love this book?

If you want your interactive graphics to feel like they are real objects—real things moving around on the screen—then you have to learn how to mimic the natural world. For an object to feel like it has weight, you have to mimic gravity. For a flock of birds to feel real, you have to mimic how real birds swarm in the sky. Yes, this does involve little math. But fortunately, Dan is a superstar teacher, and he will gently walk you through (a) the math and (b) how to translate that math into code.

Speaking of code, this book uses Processing.js, which is an older adaptation of original Processing to JavaScript. That said, the techniques are all equally applicable to modern-day Processing and p5.js.

By Daniel Shiffman,

Why should I read it?

1 author picked The Nature of Code as one of their favorite books, and they share why you should read it.

What is this book about?

How can we capture the unpredictable evolutionary and emergent properties of nature in software?

How can understanding the mathematical principles behind our physical world help us to create digital worlds?

This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts in mathematics and physics to more advanced algorithms that enable sophisticated visual results. Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design.

Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic…


Book cover of Foundation ActionScript 3.0 Animation: Making Things Move!

Scott Murray Author Of Unstuck: Javascript

From my list on learning how to code interactive graphics.

Why am I passionate about this?

I’ve been making web pages since the World Wide Web began in the mid-1990s. Back then, the web was visually quite sparse. It wasn’t until the late 2000s that new browser capabilities let the web get visually interesting and an exciting place for interactive graphics. Graphics are great: they can be informational (like charts and maps) or purely aesthetic. My personal journey of learning to code interactive graphics has been so rewarding that I’ve shared the love with others through teaching creative coding workshops and undergraduate courses. If you’re new to coding or computer graphics, I hope you’ll give one of these books a try!

Scott's book list on learning how to code interactive graphics

Scott Murray Why did Scott love this book?

Okay, hear me out. Yes, this book was published in 2007. Yes, it’s ostensibly about ActionScript, the coding language in Flash, which no one uses anymore. But you won’t use this book to learn ActionScript or Flash: You’ll use it to learn how to make things move with code, in any language. You’ll skip over the ActionScript-specific parts in favor of the lucid explanations and helpful illustrations. Your visual brain will appreciate seeing how sines, cosines, and tangents are relevant—and necessary!—to make digital things move. (Your heart will wish your brain had paid better attention in trigonometry class years earlier, but hey, no regrets!) The chapters “Trigonometry for Animation” and “Velocity and Acceleration” alone are worth the purchase price.

By Keith Peters,

Why should I read it?

1 author picked Foundation ActionScript 3.0 Animation as one of their favorite books, and they share why you should read it.

What is this book about?

This is the first definitive and authoritative book available on ActionScript 3 animation techniques. ActionScript animation is a very popular discipline for Flash developers to learn. The essential skill set has been learned by many Flash developers through the first edition of this book. This has now been updated to ActionScript 3, Adobe's new and improved scripting language. All of the code has been updated, and some new techniques have been added to take advantage of ActionScript 3's new features, including the display list and new event architecture. The code can be used with the Flash 9 IDE, Flex Builder…


Book cover of Elm in Action

Enrico Buonanno Author Of Functional Programming in C#

From my list on to learn to think like a functional programmer.

Why am I passionate about this?

I'm a programmer with a desire to constantly learn and improve. I have many years of experience in writing mission-critical software in highly event-driven areas such as FinTech and online auctions. Through interesting and challenging projects, I've always been fascinated by trying to generalize and abstract what it is that makes good code; so things like design patterns and best practices were just up my street. As I expanded this personal research, I found that functional programming provided many interesting techniques, but that many professionals in the industry were unaware of them. This is why I decided to show these techniques and their benefits to a wider audience through my book Functional Programming in C#.

Enrico's book list on to learn to think like a functional programmer

Enrico Buonanno Why did Enrico love this book?

If you're a C# programmer and have read or are interested in my book, there's a good chance you're working on a backend that supports a web application powered with JavaScript (or another language that compiles to JavaScript).

If you're interested in having more functional programming in your life, I recommend you learn Elm, a purely functional language that compiles to JavaScript.

To do this, I recommend Richard Feldman's Elm in Action, a book that takes you from zero to writing a web app in Elm.

The book teaches you everything you need to know to get started with Elm: 1) the syntax—it's a language of the ML family (like Haskell or F#) but its type system is simpler, and generally the language has been designed to be the most approachable functional language out there; 2) the Elm architecture—you write code that works within a framework, so you can write…

By Richard Feldman,

Why should I read it?

1 author picked Elm in Action as one of their favorite books, and they share why you should read it.

What is this book about?

Elm is more than just a cutting-edge programming language, it's a chance to upgrade the way you think about building web applications. Once you get comfortable with Elm's refreshingly different approach to application development, you'll be working with a clean syntax, dependable libraries, and a delightful compiler that essentially eliminates runtime exceptions. Elm compiles to JavaScript, so your code runs in any browser, and Elm's best-in-class rendering speed will knock your socks off. Let's get started!

Elm in Action teaches you how to build well-designed, highly performant web applications using the Elm language. As you read, you'll follow an application…


Book cover of ClojureScript: Up and Running: Functional Programming for the Web

Dmitri Sotnikov Author Of Web Development with Clojure: Build Large, Maintainable Web Applications Interactively

From my list on essential Clojure resources.

Why am I passionate about this?

With over a decade of experience in web development using Clojure and active involvement in the Clojure open source community, I have gathered invaluable insights into effective use of the language. I am eager to share some of the experience and knowledge I have acquired with those new to the language.

Dmitri's book list on essential Clojure resources

Dmitri Sotnikov Why did Dmitri love this book?

This book introduces developers to ClojureScript which is a dialect of Clojure that targets JavaScript runtimes.

It's a great choice for web developers who are considering building full-stack Clojure applications. The book will help developers learn about the differences between Clojure and ClojureScript, and to make effective use of both language dialects for building applications that span both the front-end and the backend.

By Stuart Sierra, Luke Vanderhart,

Why should I read it?

1 author picked ClojureScript as one of their favorite books, and they share why you should read it.

What is this book about?

Learn how to build complete client-side applications with ClojureScript, the Clojure language variant that compiles to optimized JavaScript. This hands-on introduction shows you how ClojureScript not only has similarities to JavaScript - without the flaws - but also supports the full semantics of its parent language. You'll delve into ClojureScript's immutable data structures, lazy sequences, first-class functions, macros, and support for JavaScript libraries. No previous experience with Clojure or ClojureScript is necessary. If you're familiar with JavaScript, HTML, CSS, and the DOM, you'll quickly discover that ClojureScript has the same reach as JavaScript, but with more power.
Start writing ClojureScript…


Book cover of JavaScript: The Good Parts: The Good Parts

Jeff Langr Author Of Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better

From my list on doing it right in your programming language.

Why am I passionate about this?

I love computer programming books almost as much as I love computer programming. As a high school student in 1980 I remember typing in really frustrating source code from the book BASIC Computer Games. Was programming meant to be a black art? Was code supposed to be an impenetrable mess of buried intent? When I started getting paid to program, I was happy to see that the answer to both questions was "no." I began to seek and enjoy books that espoused the "right" way to code in a given language. Here is a handful of books that have helped me and countless others learn to produce correct, clear, and maintainable code.

Jeff's book list on doing it right in your programming language

Jeff Langr Why did Jeff love this book?

During my first few weeks of JavaScript coding, I encountered what seemed to be an endless number of head-scratching moments: "I'm slowly reading the few lines of code I just wrote, it seems fine, so why isn't it doing what it looks like it should be doing?" Even more insidious at times than C++, JavaScript contains a number of fairly clever constructs, including things like hoisting, duck typing, and a loosey-goosey argument passing mechanism. This concise tome of fewer than 175 pages helped get me past those first few months, and as an author-stated goal, it helped me "learn to think in JavaScript."

By Douglas Crockford,

Why should I read it?

1 author picked JavaScript as one of their favorite books, and they share why you should read it.

What is this book about?

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole-a subset you can use to create truly extensible and efficient code. Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose…


Book cover of A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills

Daniel Zingaro Author Of Algorithmic Thinking: A Problem-Based Introduction

From my list on for actually learning how to design algorithms.

Why am I passionate about this?

I love pulling back the curtain on how computers work. I want to go from thinking "that's magic" to "that's unbelievably clever but now I understand how it works." Each time I am able to do this feels like a hard-won but therefore meaningful step toward understanding. I want others to experience this empowering shift. I have a PhD in computer science education, and  I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.

Daniel's book list on for actually learning how to design algorithms

Daniel Zingaro Why did Daniel love this book?

For an overview book that focuses on intuition—a book that is intentionally designed to evade formality—to make my list, it has to be really, really good. This one is. I appreciate the inclusion of real code in multiple programming languages and the step-by-step traces of algorithms. I appreciate the care taken with the Big O material and the way that abstract data types are introduced. This is one of very few books whose recursion material I like—the ‘napkin’ approach to recursion is wonderfully done.  

By Jay Wengrow,

Why should I read it?

1 author picked A Common-Sense Guide to Data Structures and Algorithms as one of their favorite books, and they share why you should read it.

What is this book about?

If you thought that data structures and algorithms were all just theory, you're missing out on what they can do for your code. Learn to use Big O Notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. This new edition features practice exercises in every chapter, and new chapters on topics such as dynamic programming and heaps and tries. Get the hands-on info you…


Book cover of Professional Clojure

Dmitri Sotnikov Author Of Web Development with Clojure: Build Large, Maintainable Web Applications Interactively

From my list on essential Clojure resources.

Why am I passionate about this?

With over a decade of experience in web development using Clojure and active involvement in the Clojure open source community, I have gathered invaluable insights into effective use of the language. I am eager to share some of the experience and knowledge I have acquired with those new to the language.

Dmitri's book list on essential Clojure resources

Dmitri Sotnikov Why did Dmitri love this book?

This book focuses on Clojure features that make it a great choice for building high-quality professional applications. It will guide the readers through an effective Clojure workflow that will help beginners to get up and running in a professional setting.

This is an essential resource for using Clojure to build real-world projects.

By Jeremy Anderson, Michael Gaare, Justin Holguin , Nick Bailey , Timothy Pratley

Why should I read it?

1 author picked Professional Clojure as one of their favorite books, and they share why you should read it.

What is this book about?

Clear, practical Clojure for the professional programmer

Professional Clojure is the experienced developer's guide to functional programming using the Clojure language. Designed specifically to meet the needs of professional developers, this book briefly introduces functional programming before skipping directly to the heart of using Clojure in a real-world setting. The discussion details the read-eval-print workflow that enables fast feedback loops, then dives into enterprise-level Clojure development with expert guidance on web services, testing, datomics, performance, and more. Read from beginning to end, this book serves as a clear, direct guide to Clojure programming-but the comprehensive coverage and detail makes it…


Book cover of Grokking Simplicity: Taming complex software with functional thinking

Yehonathan Sharvit Author Of Data-Oriented Programming

From my list on become a great developer.

Why am I passionate about this?

I boast a two-decade-long career in the software industry. Over the years, I have diligently honed my programming skills across a multitude of languages, including JavaScript, C++, Java, Ruby, and Clojure. Throughout my career, I have taken on various management roles, from Team Leader to VP of Engineering. No matter the role, the thing I have enjoyed the most is to make complex topics easy to understand.

Yehonathan's book list on become a great developer

Yehonathan Sharvit Why did Yehonathan love this book?

I found Normand’s focus on functional programming techniques incredibly practical and enlightening. Despite its technical content, I found the book accessible and engaging.

I believe this book is essential for anyone looking to tame complexity in their code. It’s a book I revisit when I need to explain the power of functional programming to my colleagues.

By Eric Normand,

Why should I read it?

1 author picked Grokking Simplicity as one of their favorite books, and they share why you should read it.

What is this book about?

Distributed across servers, difficult to test, and resistant to modification-modern software is complex. Grokking Simplicity is a friendly, practical guide that will change the way you approach software design and development. It introduces a unique approach to functional programming that explains why certain features of software are prone to complexity, and teaches you the functional techniques you can use to simplify these systems so that they're easier to test and debug.

Available in PDF (ePub, kindle, and liveBook formats coming soon). about the technologyEven experienced developers struggle with software systems that sprawl across distributed servers and APIs, are filled with…


Book cover of Getting Started with p5.js: Making Interactive Graphics in JavaScript and Processing
Book cover of Processing: A Programming Handbook for Visual Designers and Artists
Book cover of The Nature of Code

Share your top 3 reads of 2024!

And get a beautiful page showing off your 3 favorite reads.

1,593

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in capitalism, aesthetics, and colonialism?

Capitalism 219 books
Aesthetics 68 books
Colonialism 97 books