Thu, May 07 2015
programming webdev magic technology

Programming is magic

The third of Clarke’s three laws states, in layman’s terms, that anything you cannot understand is basically magic. In our world we are so accustomed to technology that we rarely think about how it works, or how it must look to an outsider.

Any sufficiently advanced technology is indistinguishable from magic.

Arthur C. Clarke

Bringing a modern day cell phone to an impoverished country and telling them that all they have to do is press a few buttons and speak to someone across the world with crystal clear clarity must really be a shock. Imagine looking at our tiny devices, with no wires attached, not even any real, pushable buttons, and then speaking into it to someone else. Religious people might believe they are talking to the heavens. Others might think it is sorcery. Even myself, a person familiar with the workings of cell phones, and radio waves and everything else involved in making a cell phone work, can admit that it is very spectacular to see in action.

So when I say that programming is akin to magic,  it isn’t in the Harry Potter style with wands and sparks and secret communities. It isn’t about whispering a few words and having locks be unlocked, candles get lit and making objects float. Programming is magic because with the right combination of words, environments and knowledge, you can make SOMETHING appear from seemingly NOTHING. Is that not magic? Have there not been countless people persecuted for making something happen that others could not understand?

In witchcraft, a person would take a foreign or made up language, they would light their candles in a pentagram shape and summon demons or whatever it is witches do (I am a programmer, not a witch!). Well in the world of web development we take made up languages, we type them into computers in a specific order with strict formatting and we summon websites.

We keep making our “spells” (AKA code) longer and more complex, we start mixing various languages together and we keep pushing boundaries. The end result being crazy and wonderful websites that can automate, entertain, communicate, simplify (and complicate!) our lives. 

My peers may understand the magic I use, they can probably even use it better. But really, out in the general population, how many people see us as magicians and wizards and witches and warlocks? Many times I have come across people who tell me they simply do not understand how we are able to create such things all from some text on a computer. 

There are other professions, such as carpentry, where people can watch and see a progression from pieces of wood to a beautiful table. We can watch an artist take a blank canvas and create a masterpiece with nothing but paint. But most people looking over my shoulder just see gibberish being typed in and results coming out. Magic!

About the author: Christopher Waldau is an avid fan of street magic. Ever since he was a little boy people like David Blaine would captivate his imagination and fascinate with simple card tricks and illusions. He has also created a portfolio website for a close friends father who practices the art of magic. As such, he may have biased opinions on his views of programming being likened to magic. As he never had the skill and/or dedication to focus on magic, he likes to think they are one and the same. Hopefully there are people out there who he can fascinate and inspire them to choose the path in life that makes them happy.