Rekindling the thrill of programming

We humans are a weird bunch. How quickly we go from humility at the improbable feat of human flight to exasperation at the duration at the airport. We’re routinely annoyed by traffic, but only occasionally amazed by the existence of a thing called a car.
One of the most prominent examples of recent human achievement is what we call a Programming language. A look back at the mental feats of the Olympics that shaped Genesis will help you rediscover the almost fantastical nature of programming.
The programmer, like the poet
Frederick P. Brooks, Jr., in his influential Mythical Month of Man collection writes: “Like the poet, the programmer works just a little removed from the pure material of thought.” That is a statement worth considering. For the working programmer and everyone involved in being successful, it can serve to awaken dormant inspiration.
We could say that programming is an activity that moves between the mental and the physical. We could even say that it’s a way of interacting with the logical nature of reality. The programmer jumps happily over the mind-body chasm that confused Denker so much.
“Admitting this, we can propose to carry out the mechanical branch of this work with the help of machines, reserving the pure intellect, which depends on the faculties of thought.” So said Charles BabbageOriginator of the concept of a digital programmable computer.
Babe was receive of arithmetic in the 1800s. Babbage and his associate darling did not conceive a new work, but a completely new medium. They have extracted from the ether a physical basis for our ideas, a way to concretely test them and in that form make them available for other people to study and develop.
In my own life studying philosophy, I discovered the dissatisfaction of the thought-form whose rubber never hits the road. In this sense, Mr. Brooks completes his above thought when he writes: “But the program construct, contrary to the poet’s words, is real in the sense that it moves and functions and produces visible results separate from the construct itself.”
A kind of slow-motion dance between intellectual and mechanical development took place over the centuries to arrive at what we can call up today with a casual F12 flick of the browser.
consider it programmable loom from the 18th century and the role it plays in history. It is interesting to look at a baroque machine for algorithmic weaving and to see punched cards, which are precise analogues and ancestors of the punch cards from early computers. The interaction of condensing thinking and refining machines finally meets the modern programming language.
Awe-inspiring amazement
For a darker look at the development of programming, see Ron Pressler’s ambitious story, finiteness of meaning and infinity of thought. From the hesitant baby steps of antiquity to breathtaking leaps like Babbage and Turing, there is a sense of moving on to something not fully understood but intuitively felt. We are in an age where we see the broad promise of this cause.
Mr. Pressler’s account marches resolutely into the hailstorm of mathematical and logical detail, but before setting out on the journey he writes that “awe is a powerful marketing tool, but it mystifies rather than clarifies.” Here we understand that the warning is to avoid falling into fads and fads of programming. That’s good advice.
On the other hand, we don’t want to plunge into a parched indifference to the other side.
It does us harm if we forgo wonder altogether. It’s healthy and vital to keep inspiration alive, lift your head from work and zoom out for perspective.
There’s really no reason to separate the joy of programming from the discipline. In fact, that’s a recipe for dissatisfaction. Burnout in IT is widespread. There has to be more wonder, not less.
Turing-complete
A key moment in the history of programming is Alan Turing’s Universal Machine. This is another intellectual achievement to point to when acknowledging that the programming was achieved at great intellectual cost (and great personal cost in Turing’s case). The difficulty of keeping in mind the idea of a self-referential system that can describe both itself and the programs it runs. Today we use computers that store both the information and the instructions for working with it in the same memory space.
This idea was picked up by Von Neumman for his architecture, which underpins the workings of modern computers. It’s one of those things that will be “obvious once it’s done”: the system’s data storage capability is leveraged for its code as well. But before it’s actually finished, it’s anything but obvious.
The cue here is that the idea of a file that can be both data and executable is a conceptual breakthrough that allows for a modifiable, extensible system that we’ve been working on ever since.
We can safely say that the realization of a Turing complete machine that is widely available was not only impressive, but even unimaginable until recently. The basic concepts to wrap the mind around were not yet clear.
human interaction
Everything we’ve said so far has dealt with the nature of programming itself. Another important aspect that we must mention is the impact on human interaction. Whether computers are evolving towards a or not singularitythe overall effect of humanity’s improved ability to communicate via software is a game changer.
Seen from this perspective, web-enabled software is seen as the familiar cyberspace metaphor, a new kind of interaction medium. Given what we have previously described – the bridging of the mental and physical – this landscape offers a unique opportunity to interact largely in the realm of thought with the support of an executable logical substructure.
Coupled with the Turing idea of a universe of potential machines built within the system, we see the potential for worlds of interacting ideas. Here you can feel that we are still in progress, still actively feeling for new ideas to be brought to life.
The future unfolds
So our daily work in programming software is part of the ongoing unfolding of unpredictable future realities.
Perhaps the ideas swirling in the Web3.0 sphere underpinned by blockchain innovations play a role. I’m sure many people think so. Others vehemently disagree. Anyway, Facebook didn’t change its name to Meta for nothing.
Perhaps quantum computing will play a role. Finally, it allows for interaction with an inherently different character of the underlying physical reality, that of the non-binary.
All things return to the people who use the systems, do the programming, and make them succeed. Let’s remember that technology serves people first. Happy developers write better code, and that’s better for the bottom line, true, but the more fundamental point is that happy developers are happy people.
If you can, recall the sense of possibility inherent in opening the code that makes a program work. Not only was it shot with technical interest, but with an almost fantastic quality. And why not? Less than a hundred years ago, a programming language was a vaguely perceived possibility that might or might not evolve into something real.
Rekindling the thrill of programming Source link Rekindling the thrill of programming