So what is programming anyways?

An untimely meditation on the nature of programming

Some thoughts bubbling out of my silly head on a Sunday morning

When I am programming, I often pause to think about what I am really doing. What is the programming I am doing really all about? But unlike one of Plato’s vanishing realities, my apperceptions so far have not granted me a theory of form which would open up access to an atemporal domain where “courage, love and goodness” prevail.

Instead I look at myself and see only a blind process pulling and pushing things out of a void and then abruptly throwing them up out into the same void shaped like a rectangular screen of light.

So maybe that’s what programming is. Maybe all that’s happening is: a value comes in, something is done to that value and then it goes out.

So you get a value. You set a value. That’s it. You orchestrate and compose this process across multiple domains and environments and you get a working program.

Now my immutable cousins from the other side of the road would say: a new value goes out- not the same one that come in and you don’t change the value in between. Well, yeah. Ok. They’re right about that.

Now let’s break this thought down and observe what really goes on in programming.

Getting a value

A value comes into your program, your universe. You have to recognise it, validate it, clean it, sometimes even format it and at times, even reject it, telling your universe — this is not what is allowed, this is not what I want, this is why I can’t let it in.

But if you letting the value in, then you need to make it recognisable and consumable to the rest of your program that is expecting it.

And then you do it again to the next input.

Setting a value

Once the value is in, you have to use it. You may transform it, make a copy of it and feed it into another pipe in your universe where either it disappears into a void having served it’s purpose or comes back as another value while making you wait for its transformation into a new value.

That’s it. That what I think programming is.

Did this get you clarity on what’s happening in your code? Was this a reductive simplification that made you feel sad? Tell me what you think in the comments.