Defining a computer

Defining a computer

While talking about what interview questions I’d been studying, I mentioned to a non technical friend how interesting it was finding questions so basic included. Why would you ask a Software Engineering graduate to define a computer? Such a waste of time right? My friend’s response was even more interesting: “What is a computer?” he posed the question to me. And there I was… answering my own question. Remember? “Why would you ask a Soft….

As a recent graduate of Computer Engineering (and my friend knew this too), I found it quite an embarassment how much I had to struggle to come up with a coherent answer. Well, I did not come up with one. We found means to divert the conversation to something else just so to diffuse the awkwardness.

That stayed with me though. And I won’t let it happen again. In this article I’ll define what a computer is. Yes, a full article. Trust me you’ll understand why by the end. Or I hope you will.

So let’s start by simplifying the question. I like to think the difficultly with answering this question lies with the brain trying to define a computer from a functional perspective. A computer does so many things. And the number just keeps growing. Attempting to wrap all these into a single paragraph should definitely freeze the brain. And as we’ll soon notice, by stripping away all this, we can get to what a computer actually is. Its substrates.

First , let’s look at some of the common functionality a computer provides:

  • Communication (Both receiving and sending data)
  • Gaming
  • GPS navigation
  • Arithmetic calculation
  • Media playback (your video players and audio players)
  • Etc.

I am under the presumption that when someone mentions “computer”, the first example that comes to mind is a desktop computer, or, say a phone. Also, the fact that its electronic. So I’m sourcing the above examples from what these devices are usually used for.

The functions listed above do look different from each other. But are they that different? When you dig deep into how a computer is able to provide all these, you find they aren’t. Well let’s break it down. Let’s discover these similarities.

Communucation, say, calling on WhatsApp involves a lot of actions. Let’s look at one action. Clicking the call button to call whomever. The computer knows to respond by ringing the called. How does it know? Yes, there some series of instructions (for triggering the call event) whose retrieval has been tied to the call button click action. The computer retrieves these instructions and on their execution, the call event is triggered. Retrive instructions? That implies storage. A computer has somewhere to store its instructions.

Now gaming. Let’s take one action from the game, snake. You tap up on the screen for the snake to go up. That’s already an action the computer should respond to. Again, knowing how to respond implies having instructions to run tied to the action. Having instructions to run means, yes, the computer has them stored somewhere. Memory.

We could go on and on but the point is clear. All requested (click, press, etc) computer functionality is a series of triggering corresponding instruction retrieval (how do we carry out this action), instruction interpretation (what does an instruction tell the computer to do) followed by execution (running the instruction) to then provide desired functionality.

Let’s list the steps. The similarities. What definies a computer’s actions.

  • Fetch instruction
  • Decode instruction
  • Execute instruction

Elsewhere, you’ll find this all wrapped under the fetch-decode-execute-cycle

So what is a computer? Its a device that fetches , decodes and executes instructions? That doesn’t sound so right. Its gets too technical too early. How about its a device that can be programmed to respond predictably to input? I mean, someone intending to make a computer provide that functionality must have written those call instructions right? I guessy that works. A computer is an electronic device that can be programmed or is programmed to respond predictably to input. Click to open app. Press call button to call. Press 3 to have 3 displayed on screen. Press equals to execute a calculation for whats on screen. etc.

When you go to Wikipedia you will find a different definition. That definition is so low level and I’d like to write a few more articles before we get that deep. It defines a computer as an electronic device that can be programmed to carry out logical/arithmetic operations. But that gets into the definition of instructions. And we don’t need that too early do we?

I should release some more articles getting into what a computer instruction is and then we can adopt the Wikipedia definition. I guess this is going to be a lot of fun. I see myself writing about CPUs, how a calculator works, how a computer remembers among other topics. But that should suffice for this one. I mentioned earlier I decided to have the definition stretched out as long as its been for a reason. I hope you see that reason. You appreciate the definition more now that you know how I arrived at it. Or I hope you do. I should hope to see you around in the next one.


I share my articles manually via social media. If you found this via a google search then.. that’s so cool. But if you didn’t I’m assuming you are coming from hacker news or one of my social media handles. If with anything to say or any comment to make about this article, please reach out at to me at Bluesky or on Telegram .