Software 2.0

Source: https://karpathy.medium.com/software-2-0-a64152b37c35 Author: Andrej Karpathy Date: 2024-10-02 (saved, originally 2017)

Summary

Karpathy’s 2017 essay predicting the paradigm shift from traditional software (explicit instructions) to “Software 2.0” (neural networks trained on data). Remarkably prescient in retrospect.

Key Claims

  • Software 1.0: programmers write explicit instructions; computers execute them.
  • Software 2.0: programmers specify a dataset and objective; neural networks learn the instructions.
  • The shift is already happening: image classifiers, translators, speech recognition — all moved from 1.0 to 2.0.
  • Code is no longer just typed: the network weights ARE the program. We optimize the program by optimizing the weights.
  • Implication for programmers: the skill shifts from writing algorithms to curating datasets, defining objectives, and interpreting model behavior.
  • Prediction: Software 2.0 will eat Software 1.0 — most traditional software will eventually be replaced.

Entities

Concepts

  • Coding Agents — agents that write code are Software 2.0 creating Software 1.0
  • Synthetic Data — data curation as the new programming