AI Evolution
Software Is Changing (Again): From Code to Prompts
Master all three: Code (1.0), Neural Nets (2.0), and LLM Prompts (3.0). Each paradigm has unique strengths—stay fluent in all to remain competitive.
Published Dec 20, 2024
5 min read
Summary
Karpathy explains how software has fundamentally shifted twice in recent years after 70 years of stability. Software 1.0 is traditional code, Software 2.0 involves neural networks, and Software 3.0 uses natural language prompts to program LLMs.
Key Takeaways
- 1Software 1.0: Explicitly written code (e.g., C++, Python)
- 2Software 2.0: Neural networks trained on data; parameters are learned, not coded
- 3Software 3.0: LLMs programmed by natural language prompts (English)
Full Analysis
The software industry has experienced two fundamental paradigm shifts in recent years, breaking 70 years of relative stability in how we build and interact with computer systems.Software 1.0: Traditional ProgrammingThis is the familiar world of explicitly written code—C++, Python, JavaScript, and other programming languages where developers write precise instructions for computers to follow. Every function, every loop, every conditional statement is carefully crafted by human programmers.Software 2.0: Neural Network EraThe second paradigm emerged with deep learning breakthroughs like AlexNet. Instead of writing explicit code, developers create neural network architectures and let optimization algorithms learn the parameters through training on data. The "programming" happens through data curation and model architecture design rather than traditional coding.Software 3.0: The LLM RevolutionThe newest paradigm uses natural language prompts to program Large Language Models. Instead of writing code or designing neural networks, developers use English (or other natural languages) to instruct AI systems. This represents a fundamental shift in how humans interact with computational systems.Why This MattersKarpathy emphasizes that professionals need to be fluent in all three paradigms to remain relevant. Each has its strengths and appropriate use cases, and the most effective solutions often combine elements from multiple paradigms.
Practical Applications
Learn prompt engineering for Software 3.0 applications
Understand when to use traditional coding vs. AI-assisted development
Develop skills across all three paradigms for maximum versatility
Recognize which paradigm best fits specific problem domains
Sources
Lex Fridman Podcast #441 - Andrej Karpathy
Timestamp: 00:49 - 03:12
Software EvolutionAI ParadigmsProgramming