Programming Paradigm Shift

The evolution of software development methodologies, particularly the transition from explicit rule-based systems to data-driven, probabilistic models.

Key Concepts

  • Software 1.0: Traditional programming where developers explicitly write rules and logic to map inputs to outputs.
  • Software 2.0: A paradigm where the “code” (model weights) is learned from data via optimization, rather than hand-written by humans.
  • Role of the Developer: Shifts from writing logic to curating data, defining loss functions, and tuning hyperparameters.

Notable Perspectives

Andrej Karpathy’s Framework

Karpathy articulates the distinction between traditional coding and modern AI development Andrej Karpathy: The Software 1.0 to 2.0 Programming Paradigm Shift.