Chapters List
- A Mental Model for Programming
- What Happens When a Program Runs
- Programming Languages
- Variables and Data
- Decisions: Conditional Logic
- Repetition: Loops
- Functions: Building Reusable Code
- Data Structures: Organizing Information
- Debugging: Fixing Programs
- How Programs Become Real Software
- Different Types of Programming
- Modern Programming and Software Development
programming
Different Types of Programming
Explore major programming domains and the kinds of systems each domain builds.
In the previous chapter we learned how programs become real software systems.
Now we answer an important career question:
Where is programming actually used?
Programming is not one job. It is a set of skills applied across many domains.
Major Programming Domains
| Field | Typical Outputs |
|---|---|
| Web development | Websites, dashboards, APIs |
| Systems programming | Operating systems, compilers, infrastructure |
| Data science | Analysis pipelines, ML models, data tooling |
| Mobile development | iOS and Android apps |
| Embedded systems | Firmware and device-level software |
Each field has its own tools and constraints, but they share core computational thinking.
Web Development
Focuses on internet-facing applications.
Common layers:
- frontend UI in the browser
- backend APIs and business logic
- databases and caching
Web is popular because feedback loops are fast and products reach users quickly.
Systems Programming
Focuses on low-level performance, memory control, and reliability.
Examples:
- kernels and device drivers
- compilers and language runtimes
- networking infrastructure
Common languages include C, C++, Rust, and Go.
Data Science and ML
Focuses on data processing and predictive modeling.
Typical workflow:
- collect and clean data
- analyze patterns
- train models
- evaluate and deploy
Python is especially common due to ecosystem maturity.
Mobile Development
Focuses on smartphone and tablet experiences.
Includes:
- native UI design
- device APIs (camera, sensors, notifications)
- performance and battery constraints
Native languages and cross-platform frameworks are both common.
Embedded Systems
Focuses on software running directly on hardware devices.
Examples:
- IoT sensors
- automotive controllers
- medical devices
- consumer electronics
Constraints are strict: limited memory, strict timing, and hardware integration.
Shared Foundations Across Domains
No matter the domain, these ideas stay relevant:
- variables and data structures
- control flow and functions
- debugging and testing
- modular code organization
That is why strong fundamentals create long-term flexibility.
Key Ideas to Remember
- Programming spans many distinct domains.
- Each domain has different constraints and tooling.
- Web, systems, data, mobile, and embedded are core tracks.
- Fundamentals transfer across all of them.
- Domain choice should follow your interests and problem preferences.
What Comes Next
To finish this guide, we will zoom out one last time.
Final chapter:
modern programming workflows, collaboration, and the software development ecosystem.