- Programming is hard

submited by
Style Pass
2023-09-19 20:00:13

Software is weird. In its basic form, software is this very abstract thing with seemingly little connection to the real world. Yet graphical applications running on a hardware device like a modern phone feel very real, even to people who have no appreciation of what happens within this “black box”. Some pieces of software is even able to control hardware to perform real actions in the physical world.

As programmers, some of the code that we write is supposed to model real world concepts, and as a result the code often reflects this in its structure and form. Other pieces of code are purely abstract and solve “metaphysical” problems that only exist within the realm of computers. Code solving abstract problems might also serve as necessary foundations to build more tangible “real world modelling” on top of.

At the end of the day code has no obligation or enforced requirement to resemble the problem it’s supposed to solve – and sometimes there isn’t even a “real” problem to compare it to in the first place. Of course, code which is able to somehow communicate this correlation tends to be considered more “readable” and “maintainable” simply due to familiarity. But the purpose of the systems we build is first and foremost “to model”, not simply “to be”1.

Leave a Comment