There is a whole industry of computer programming, where skilled
software developers and engineers make it their business to solve
the world’s problems from a digital angle. These men and women are
trained not only to think in terms of code syntax, but application of
concepts to solve given problems. Being the case, is it necessary that
you–just a computer user–learn to program at home? Isn’t this wasting
your precious time for doing other things?
What is Programming anyway?
Let’s first define what is meant by “programming” to put this discussion
This word is one of the terms that acquires different meanings depending
with who uses it and in which situations. In this case, however, we are
talking of that art of giving instructions to a computer for it to
execute. According to Goel (2020), who puts it for the
Programming is a way to “instruct the computer to perform various
and code is used for that.
However, in programming, what is important is not simply to write code
and be faithful to its syntax, but it is to solve a problem. As Knuth
(1968) points out, the way to solve the problem is only
made possible by the code being used. Hence the need to come up with a
method of the solution, or algorithm (ibid).
Can I do it?
If you can open a document on a computer, certainly you can do it. Using
a computer involves giving instructions to it all the time:
- You tell it which program to open;
- Which task to perform in that program;
- How to carry out that task.
For example, here is a simple scenario involving these steps when you
browse the web and visit a particular site, say
|Action||Command to your computer|
|Launch your browser||Telling the computer which program to open|
|Type a web address in your browser||Giving it your task|
|Enter the address to Wikipedia||Where to go (how to carry out the task)|
This is how programming is done. The difference here is that you did not
type the code, neither did you compile it before you run it. Instead,
these things are already wired into already compiled executables.
So what’s the deal with programming then?
The deal with programming, unlike the way you normally use the computer
is that with programming, a computer language of some kind is involved.
The starting point of computer programmers is the problem to be solved:
- Point A
- what is it that we want our computer to do that it isn’t doing
at the moment?
- Point C
- How should it be done by the computer?
The programmer’s job is at Point B: making sure that what isn’t being
done by the computer be done.
A computer language is used as a way to carry the instructions to the
computer’s processor. However, as the computer understands only machine
language, and almost all computer languages aren’t that, it means
that the code written by the programmer has to be translated by another
This program that does the whole translation from a computer language to
a machine language is a compiler or an interpreter.
A programmer writes her or his program in plain text, and this is known
as source code. So the process is like this:
- We start with the source code, which is plain text;
- That code is compiled into machine-readable code (executable) by a
compiler or interpreter;
- The final product is shipped to users in machine-readable form.
There are many computer languages such as C, C++, Java, Python, and even
those specially designed for statistics such as R, Stata and SPSS.
whichever language you choose to learn, it gets translated to the same
executable that makes what you want to be possible from a computer’s
So is it necessary to learn programming when not a Programmer?
The answer has to do with what do you think of programming. Some folk
that I came across think of big money that can be made by knowing how to
program, others think it from a practical point that programming helps
you control your computer better than someone who can’t.
I subscribe to that latter notion:
- If you think of so many things that you can do for yourself at home
that would have been done by a person, you should have no problem
starting to program today even if you are a non-programmer.
- You type your own documents instead of taking them to a
professional typesetter because you can.
- You can cook your own food at home instead of buying from some
restaurant because “it is natural that way”.
- You grow your own vegetables rather than buying from the market
because you enjoy this.
- You do all the above tasks because you want to accomplish certain
tasks without thinking of commercialising these chores.
- This does not mean you do not reap any rewards from these tasks.
Instead, you enjoy doing these chores because they make you
understand the tasks better, and save you some money in the process
So, in short, you should consider learning some programming language to
start with. However, to make the process exciting, consider something
that solves your immediate need.
You can start with Macros and Application Scripts
This automatically takes us to the reason why most programs have got
some extensibility features built into them: the developers of those
programs were realistic that their applications could not accomplish
everything that an end-user would expect.
the moment you get frustrated by how your office program is failing to
design a cover in a way you would like, before you give up, why not
start poking around to see whether it has or has no scriptable
This is true even of browsers, mail programs and even music players.
Both Microsoft Office and Libre Office are scriptable. With Office
applications, you learn Visual Basic for Applications (VBA). VBA
is popular when it comes to Excel when you need to add some functions
that aren’t built into Excel, usually when doing data analysis.
extensions or add-ons.
Even screen-readers support extensions:
- NVDA comes with Python modules you can subclass to create your own
add-ons. This is the same with ORCA on Linux.
- Jaws uses Jaws scripting.
Before you think of any profits you can make out of programming, think
of problems you can solve for yourself and your friends. In fact, the
best way to study computer internals is through small programs you
write, often on the command line. No matter which language you choose to
start with, your aim should be to be more productive than yesterday.
After all, if you think of the thrill of playing a game, whether an
action or adventure game, you will have no problem with programming. It
is just trying to find a way how a computer can carry out a task you
have for it. You communicate through source code, and hopefully will
start today to take up the challenge.
Goel, A., 2020. What is programming? A beginners guide.
Knuth, D., 1968. The art of computer programming: Volume 1: Fundamental