What is Programming?

The article will be an answer to what programming is, but that, it will go through an understanding of what computers are because that is the foundation.

A photo of Betizazu Alemu looking professional.
Betizazu Alemu
  • 7 min read

If you have any know-how about computers and computer science, this post might not be for you, but if you want to refresh your memory, you can jump into it.

To understand what programming means, we need to understand what computers mean.

Computers, huh?!

One might ask, “why is it necessary? Isn’t a computer mean some intelligent machine that makes people’s tedious, repetitive, complex, and boring job/tasks simple and fast? I know the definition!”. My answer will be, “Yeah, that’s correct. I have no comment on that”. But when I say let’s talk about What computers are, what I mean is how do they work? What constitutes to give them such intelligence? Are they brilliant as we are, i.e., Human beings?

Will you hate me if I say, “computers are the dumbest things ever created”? If you hate me, hate me, but hold on to your temper for a little while and let me make you understand what I mean by dumbest. Hoping that you gave me your ears, allow me to begin.

There is an electric charge, current, and wire/cable. The job of these cables is to transfer current from source to destination (assuming you have knowledge about current, if not in simple terms, current is a combination of flow of electric charge).

We all agree that there is an electric charge in the switch we use to turn on and off the light bulb we use in our rooms. When we turn the light on, we connect two wires so that the current will flow through the wire and give us the light. On the other hand, when we turn it off, we are just disconnecting the cables, as you already guessed. When we disconnect the wires, we are just cutting off the current flow. If you say, “Bitzs! What is this nonsense you are talking about? I knew this,” well, I am just looking for a better spot to drop a bomb by saying, “Believe me or not, that’s exactly what computers do non-stop.” The only difference is that the tiny devices we define as a computer (BTW, anything that uses electricity is a computer) have not only trillions, but trillions of trillions of wires inside, just like a human beings have trillions of cells.

Transistors

If you say, “how dare you say that?! How come listening to Music, writing to a Document, watching a Movie, editing Photos or Videos defined as turning a light on and off?” That’s a million-dollar question. To understand that, we need to know the building blocks of computers and the main component behind their creation? The answer to such questions is a semiconductor device called Transistors. No transistors mean no computers; no computers mean we get back to the old stone age or before that. In general, no transistors mean there will be nothing.

The fundamental concept of how computers work lies in the term semiconductor. To give you the general idea, let’s categorize objects into three based on their capability to transmit electric charge.

To grasp their difference, let’s imagine two things are connected circularly. The out of one thing wire is connected to the ins of the other. Now let’s differentiate:

  1. Conductors: able to transmit electrical charge. The metals are examples of this group. Based on the above example, let’s say the two objects are conductors. Unless we cut off one of the wires, there will always be an electric charge flow, i.e., we can’t transfer charges without breaking the circuit, which means we have no control over them.
  2. Insulators: Those cannot transmit electric charge. Glass and plastics are examples of insulators. Don’t get me wrong here; if we put the insulators in a high amount of heat, they can transmit charge, but they will melt and burn before we reach that increased amount.
  3. Semiconductors: These are the middle ones. They can transmit charge but not always; they only transfer electrons when small, but enough heat is supplied. Based on the above example, if we provide a required amount of electric charge to one of the semiconductors, it will start to transfer current, which forces the other one to transfer. That means we have control over them; we can decide when to transmit the charge and when to stop transmitting.

That’s what transistors are, the foundations of computers. Before transistors, there were Vacuum Tubes. As we are not here to talk about history, we won’t talk about them here, but you can use this link as a reference if you want to know more about Vacuum Tubes.

If you want to learn more about the above categories, you can refer to this video .

Number Systems in Computers

Now, here is where the game-changing concept. The basic idea why computers are required is to perform complex mathematical calculations; how will we represent numbers then? (I am talking about numbers here because it’s the essential component of computers’ computation; I will speak of the other forms later). That’s where a group of scientists decided to label the state of a single transistor as One for the ‘on-state’ and Zero for the ‘off-state’. Problem solved, right?!

Wait.. wait.. wait…t! Does only 0 and 1 solve our problem? NO! Definitely not. But a series of transistors do. So, when we say eight, the computer understands us as “Oh! They are saying 111”. If you ask, “how?”. I say I will get back to it in another post soon but for now, hold to the idea of computers working only in 0s and 1s which makes computers use the Binary Number system. We will get back to the Number Systems in another article but for now, let’s take a highlight look at Binary Number Systems; as we all know, “Bi” means two. So, everything in a computer is in the form of 0s and 1s; I am sure you knew this way before me; I bet.

Answering the Initial Question

Computers use Logic gates to perform the task they are intended for (I will talk about the logic gates and their operations in another article). The combination of gates constitutes circuits; circuits, in turn, constitute boards. In a single computer there found millions if not trillions of logic gates. Because these logic gates are too many, we don’t use them all to perform a specific mathematical calculation. Back in the days when computers used to fill up a single room alone, humans were required to connect the gates with electric charge sources whenever that specific gate was required and unplug them whenever they don’t.

Now let me take a turn and ask you a question, “Isn’t it too boring and time-consuming to plug and unplug an electric source manually?” It definitely is. So, scientists gathered up and said, why don’t we make something that controls the electric charge automatically without a need for human power? That’s the pregnancy of the idea of a program.

A program is just a set of instructions instructing the computer when to turn on a specific gate and when to turn it off. In general terms, programming means the activity of creating these programs. Without programs, computers are just a collection of junk. So, let me ask, “do you really believe computers are more intelligent than humans?” When you answer, just think about who is responsible for creating the programs.

With that all being said, let me stop my post here.

Wait! What?! This is so vague and empty black box. Where are you going without telling me; how do the computers work inside? How about the promise you gave to show me how they represent music, picture, and video and how they store them?” Well, that will come up next.

I hope I will see you here again.

Discover related blog posts that delve into similar themes, share valuable insights, and offer fresh perspectives.