Free sample lesson · Software Is Changing (Again)
Software 1.0, 2.0, and 3.0
After 70 stable years, why has software fundamentally changed twice in a few years?
Lesson 1 of the Wondering course Software Is Changing (Again)
What You Will Learn
Recognizing the three paradigms tells you which of three completely different toolsets — explicit code, trained weights, or English prompts — a given problem actually needs.
The Evolution of Software
Software remained stable for 70 years. Suddenly, it changed twice in just a few years.
Software 1.0 consists of explicit code written by humans. You write instructions for the computer to follow.
Software 2.0 and 3.0 represent a fundamental shift. We are moving from writing code to training and prompting models.
Software 1.0 vs Software 2.0
Software 1.0 is traditional code like Python or C++. Developers write every logic step manually.
Software 2.0 uses neural network weights. No one writes these weights directly.
Instead, developers provide data and run an optimizer. The optimizer finds the parameters that solve the problem. AlexNet is a classic example of this fixed-function approach.
Software 3.0: The Prompt Era
Software 3.0 arrived with Large Language Models. These models are programmable through natural language.
In this paradigm, prompts are the programs. You do not need to retrain the model to change its behavior.
For example, you can classify sentiment by giving an LLM a few examples in a prompt. This is faster than writing code or training a custom network.
- Provide LLM: Start with a pre-trained large language model.
- Write Prompt: Instruct the model using natural language instead of code.
- Execute Task: Perform classification or generation instantly without retraining.
Parallel Ecosystems
Each paradigm has its own home. GitHub hosts Software 1.0 code.
Hugging Face and Model Atlas serve as the GitHub for Software 2.0. They store weights instead of text files.
In Model Atlas, the Flux image generator is a massive central model. Every fine-tune created on top of it acts like a git commit in weight space.
Choosing the Right Tool
You must decide which paradigm fits your problem. Sentiment analysis shows the difference.
Software 1.0 uses hardcoded keyword lists. Software 2.0 uses a trained neural net classifier. Software 3.0 uses a few-shot prompt.
Understanding these three toolsets allows you to build modern, agent-ready infrastructure effectively.
Putting It All Together
- Assess Task: Determine if the problem requires strict logic, pattern recognition, or flexible reasoning.
- Select Paradigm: Choose between code, weights, or prompts based on data availability and iteration speed.
- Deploy Infrastructure: Store your artifacts in the appropriate ecosystem hub.
Keep going
This is lesson 1 of 16 in Software Is Changing (Again). Next up:
- Prompts Are Programs in English
- How Software 2.0 Ate Autopilot
- LLMs as Utilities and Fabs
- LLMs as Operating Systems
- The 1960s of Computing, Again
Wondering turns any topic into short lessons you can read, watch, or listen to, with practice questions and an AI tutor.