Andrej Karpathy's concept of Software 3.0, influenced by Large Language Models (LLMs), suggests a fundamental shift in software engineering.
- Software 1.0: Traditional code in languages like C++ or Python, based on explicit instructions.
- Software 2.0: Neural networks where the "code" is learned weights from data. Development involves tuning datasets and running optimizers rather than writing instructions.
- Software 3.0: The prompt provided to an LLM is the program itself, with natural language serving as the programming language.