What are the uses of software programming as a skill?
When people talk about software or computer programming, they usually mention automation, building websites, creating apps, or developing software systems.
And they are all right, they are legitimate use cases of computer programming, but they only tell a part of the story.
In this post, I want to step back and look at programming from first principles.
Programming became an essential skill because of the powerful hardware devices we’ve built over the past several decades. To understand why programming matters, it helps to build a simple conceptual model of these devices.
Imagine you have a device that has the following characteristics:
- The device can take some kind of input. That input can be any kind of signal that tells the device something.
- The device can perform certain operations on the inputs.
- The device can optionally store some information.
- The device operations give an output.
The simplest device that fills this structure is a modern calculator.
A modern calculator can be visualised in the following way:
- It can take input via the buttons of the calculator.
- It can perform mathematical operations.
- Some calculators can also store the results of your previous calculations.
- The device gives an output on the screen.
This basic structure applies to most computing devices. They take input, process it using built-in operations, store information when necessary, and return output.
Where Does Programming Fit In?
Let’s return to the calculator example.
Today’s calculators can do far more than simple addition, subtraction, multiplication, and division. They can compute logarithms, trigonometric values, square roots, and even solve equations.
But underneath all these higher-order functions is the same foundation: the basic operations (+, –, ×, ÷). In mathematics, many advanced functions can be broken down into a series of steps using these fundamentals.
Take the square root of 10, for example. One way to compute it is through Newton’s method: start with a guess and repeatedly refine it using a formula until the value stabilizes. When you press the √ button, your calculator performs these steps automatically.
Something has instructed the calculator how to combine the basic operations to compute a square root.
That something is a program.
And the someone who designed it is a programmer.
So What Is Software Programming Really?
Software Programming essentially becomes the art of
- Understanding the operations a hardware machine can perform, and
- Organizing those operations in meaningful, structured ways to make the machine perform useful or complex tasks.
As hardware became faster and more capable, programming became even more powerful. Programmers could take simple operations and combine them to create games, run simulations, build chatbots, power websites, perform advanced mathematics, and much more.
Top comments (0)