Software 1.0 vs 2.0
Share
Andrew Karpathy's framework distinguishes between traditional programming and AI-based approaches, highlighting a fundamental shift in how software is created.
Software 1.0 vs Software 2.0
-
Software 1.0 is traditional programming with deterministic, predictable outcomes
- Uses programming languages, data structures, and algorithms
- Engineers write explicit for loops and recursion
- Everything is controlled and deterministic
- Engineers know exactly what the software can and cannot do
- PM gives tickets with clear specifications
-
Software 2.0 is based on neural networks and probabilistic approaches
- Still uses foundations of computer science but makes the process stochastic
- Relies on training models with data instead of writing explicit code
- Output resembles what a traditional program might do
- Has "magical emergent properties" not explicitly programmed
- Engineers don't have to write every if-else branch or think of every corner case
Key differences in approach
-
Software 1.0 is fully understood by its creators
- Developers know exactly what it can and cannot do
- Functionality is explicitly defined and limited to what was programmed
-
Software 2.0 contains unexpected capabilities
- Even creators don't fully know what's possible
- Users and creators "discover the latent space" of possibilities
- Each new model release reveals unexpected capabilities
Applications and examples
- Image generation: Creating diagrams with ChatGPT 4.0 instead of traditional diagramming tools
- V Zero: AI platform that generates full web applications from natural language prompts
- Game development: Using AI to create video games with minimal coding
- Sound creation: Using models like Eleven Labs to generate audio effects
Practical implementations
- Combining Software 1.0 and 2.0 approaches for optimal results
- Creating platforms that leverage AI capabilities while providing structure
- Using AI to handle creative aspects while traditional code handles infrastructure
- Building frameworks that work well with LLMs to enable broader creation