Shader programming
What
Shaders are small programs that run on the GPU as part of the rendering pipeline (vertex + fragment shaders) or independently (compute shaders). Languages: GLSL (OpenGL/WebGL), HLSL (DirectX), Metal Shading Language, WGSL (WebGPU), SPIR-V (Vulkan IR). The aesthetic culture: ShaderToy, The Book of Shaders, Inigo Quilez, signed-distance-function geometry, raymarching, fragment-only worlds.
Why It's In The Canon
Shader programming is the closest thing modern computing has to a craft tradition. The toolchain hasn't changed fundamentally in 20 years; the masters (Iñigo Quilez, Patricio Gonzalez Vivo, FlexiMonster, Beautypi) post their work openly; you can read the source of any ShaderToy sketch by clicking. It's the rare creative-coding scene where reading and writing are the same activity.
For taste it matters because: (a) shader idioms — SDFs, noise functions, raymarching, post-processing chains — show up everywhere from album art to motion graphics to film VFX, and recognizing them changes how you read contemporary visual culture; (b) the constraint of "one function, runs per pixel, no state between pixels" is one of the strongest creative pressures in computing — what you can build in that constraint is genuinely beautiful; (c) every modern game engine, design tool (Substance, Houdini, Unreal Niagara), and creative coding environment (TouchDesigner, Notch, Cables) is built on shader-like primitives.
Practice: read shaders before writing them. Open shadertoy.com, find an SDF scene, read the code, change one number, see what changes. Repeat for two weeks. You'll learn more about real-time graphics than from any textbook.

