CONCEPT
Software 2.0
Andrej Karpathy’s name for the paradigm shift in which programs are no longer written by humans in programming languages but compiled by optimization processes from datasets—the source code is examples, the logic lives in weights no human can read, and the programmer’s job becomes cultivation rather than authorship.
For seventy years, programming meant one thing: a human being held an idea about what a computer should do and translated that idea, line by line, into explicit instructions the machine could execute. Every behavior the machine exhibited could, in principle, be traced back to a line someone wrote on purpose.
Andrej Karpathy retroactively named this Software 1.0, and the name contains the argument: if there is a 1.0, there is a 2.0. In Software 2.0, humans specify a goal and a rough architecture—a
neural network—and an optimization process discovers the actual program through
gradient descent. The source code is the dataset; the compiler is training; the binary is the trained network. The programmer no longer writes the program but sets the conditions of its creation, and the logic that makes it work is distributed across millions of numerical weights that mean nothing individually and everything