Daniel Shiffman — The Nature of Code
2012
Artists: Daniel Shiffman · Year: 2012 · Medium: Programming textbook — simulation of natural systems in Processing · Substrate: Self-published book (later published by Shiffman with Kickstarter support); extensive video-tutorial YouTube channel (The Coding Train) · Place: New York, USA · Institution: NYU ITP; self-published book Daniel Shiffman published The Nature of Code in 2012 as a self-published book (available free online at natureofcode.com, also available in printed hardcover via self-publishing infrastructure) written over five years of teaching at NYU's Interactive Telecommunications Program. The book is a 500-page introduction to programming simulation systems — physics engines, autonomous agents, genetic algorithms, cellular automata, neural networks — written in Processing and explicitly aimed at artists and designers. The book's method is the book's argument. Every chapter builds, through worked examples and short runnable code snippets, a simulation system that the reader can run, modify, and extend. A chapter on forces leads the reader through building a gravity simulator. A chapter on autonomous agents leads through building Craig Reynolds's classic flocking-boid algorithm. A chapter on evolution walks through Karl Sims's 1994 evolved-virtual-creatures premise (elsewhere in this archive). By the end of the book, the reader has built, piece by piece, a fully-working suite of simulation tools whose internal architecture they understand because they wrote every line. Shiffman, who has taught at ITP since the mid-2000s, has built his pedagogical identity around making difficult computational concepts accessible to art and design students. His YouTube channel, The Coding Train, has over a million subscribers and hundreds of hours of tutorial videos. The Nature of Code is the book-length expression of the same impulse — the belief that simulation systems are a medium artists should have native access to, and that access begins with understanding the underlying procedure at a level where the artist can modify it. The book has had, since 2012, an outsized influence on the generative-art generation that came up immediately after. Many of the Tezos-era and Art Blocks-era artists in this archive (Zancan, Ix Shells, Kjetil Golid, William Mapan, and dozens of others) have cited Shiffman's book or his YouTube tutorials as formative to their development as artists. The Nature of Code is, in the practical sense, part of the critical infrastructure of the 2020s generative-art scene. Shiffman continues at ITP and is still actively producing tutorials. Lore Shiffman wrote the first Nature of Code chapters during paternity leave in 2007 and spent the next five years iterating them with his ITP students, who served as the primary test readers. He self-published the final book in 2012 — a decision he has said was partly financial (self-publishing meant he could release the digital edition free) and partly pedagogical (self-publishing meant he could update the book as Processing evolved without waiting for a traditional publisher's revision cycle). The book's HTML version at natureofcode.com is continuously updated. Shiffman's YouTube Coding Train channel, which he began in 2015, has grown into its own pedagogical infrastructure; several younger Coding Train viewers have gone on to publish generative-art work that in turn reaches substantial audiences. The book's second edition, rewritten for p5.js and adding a chapter on neural networks, appeared in 2023. Sources • Shiffman, Daniel — The Nature of Code (self-published, 2012; 2nd ed. 2023). • Shiffman, Daniel — The Coding Train (youtube.com/c/TheCodingTrain). • natureofcode.com — book archive and companion code.
Source: daoracle.com
Part of Digital Art · Watch in the documentary
More from Digital Art
- Aaron Koblin — The Sheep Market
- Casey Reas — Processing: A Programming Handbook for Visual Designers and Artists
- Aaron Koblin — Ten Thousand Cents — crowdsourced $100 bill
- Lauren Lee McCarthy — p5.js — JavaScript port of Processing
- Taeyoon Choi — School for Poetic Computation founded
- Lev Manovich — Software Takes Command — software studies
