Philosophical Cud: The Platonist and the Unlovely Algorithm

As a student of computer science, I feel as though I have a certain responsibility to be critical of the field when circumstance requires it. As fate would have it, I’ve been unable to position myself near other computer scientists lately without hearing algorithms, data structures and the like referred to as good and even beautiful. Now, one can justifiably talk about runtime efficiency or program complexity and describe a particular algorithm as “good,” but can the word beautiful ever be used in this context in a meaningful way? Realizing that I run the risk of stepping on toes in writing this, I’m casting my vote as a brazen, frustrated “No!” Can I get an amen?
To get started, let me come at this from Plato’s angle. God, he writes, created all of the true objects of nature; these objects are the Platonic ‘forms’ we’ve all heard about. In the forms, we find the perfect, transcendent, essential qualities of the objects we’re used to seeing in daily life, like chairs and beds. Of course, there are many shapes and sizes of chairs and beds in the world, but these tangible items are created by craftsmen, not God. In this sense, the beds we sleep on are only elusive, shadowy man-made reflections of the one true bed. When an artist paints a bed, or anything else we find in the sensible world, they are not painting a bed as such, they are painting the man-made illusion of the true, formal bed. Plato posits that what an artist creates, then, is three times removed from reality, in its fullest sense. This is to say, in essence, that art is the furthest thing from reality that humans had come up with at the time of Plato’s writing.
I would like to posit that even further distanced from reality than art, in both the Platonic, formal sense and in our everyday understanding of the world we live in, is the computer model of an object. In software engineering, real, tangible objects such as radix machines, physical systems and even biological populations are modeled using digital logic. This means that the functionality of something like a car’s engine or ping pong ball can be emulated using electrical signals, though there is nothing of substance happening – what may function in protocol or logic like a physical machine is really nothing more than a running algorithm consisting of computational flow controls and data structures. Layers upon layers of abstract logic and electrical pieces of hardware give the illusion of something real. If art was the vehicle that the ancients used to model the world, the computer algorithm is modern man’s contribution to this modeling. I fear that we have engineered a much more insipid, dreary form of imitation indeed.
Things constructed with algorithms are aesthetically worse than any other human creation, not strictly because they’re so far removed from reality but also because in application, the algorithms themselves fail to retain the creative influence of the designer. Computer code is written according to a syntactically strict, predetermined format. While an engineer can dictate some trivial aspects of code when implementing an algorithm, the variables are just that – trivial. There are no brush strokes, no smudges, no sense of style or marks of individuality to be found between the myriad of lines of code that comprise computer programs. The closest a program can come to relaying its origin is the programmer’s commented signature: digitally encoded, impersonal, standardized.
Computer science renders ghosts out of electricity and sterilizes the beauty of the reality it models. Computer implemented objects are not only illusory in form but vacuous, fleeting and wanting of meaning. Are computers a crux of modern medicine, science and culture? Sure. Does their place in society mark them as anything more than an ugly convenience, much like Walmart, deep-fried, salted carbohydrates and CFC propellants? Probably not. Are they beautiful? Never. Humans flew airplanes, vaccinated polio and discovered relativity without the aid of computers, and as such, I believe their un-necessity in the efforts of human progression to be incontrovertible. Like all unnecessary and aesthetically unpleasing things, we, as a people, may do well to dispatch with computers altogether. In a perfect world, I would end this column by imploring the reader to boycott Facebook or mindless Internet surfing for a few days, but doing so would only render me a hypocrite. I play too much Farmville. Until next week, just go ahead and download some music or something – at least there’s a redeeming quality, a human aspect to be found, in that.








You totally missed the beauty!
In this interesting article, you've managed to totally miss (at least what I consider to be) the real beauty in computer science and algorithms.
Donald Knuth wrote a textbook called "The Art of Computer Programming." It's on my list of textbooks to read through, because from the excerpts I've seen, I think it has an interesting approach to computer science. But the title is profound. Computer programming is an art. Computer science is in many ways the art of creating (and trying to understand and implement) algorithms.
First off, I can't believe you managed to write this article and never have the epiphany that Plato would have been downright giddy about computer science. It's so full of abstractness! When we talk about binary trees, we are talking about a Platonic form in the very truest sense of what that is. Even our real-world implementations of binary trees (a Python implementation of a binary tree class, for instance) are themselves very abstract, because it's just code. Plato would be all over that if he was still living. There is also an ongoing debate on whether concepts in math are created or discovered (and by "ongoing debate," I mean there was once a Slashdot article on the matter).
We're not exactly distancing ourselves from reality. If I made an algorithm that generated songs that sounded cool, what's the artistic, creative part? The songs? Of course not. The algorithm that is able to make those songs is where the real artwork is. That's the paradigm shift our world is living in. And our lives demonstrate that well. In this day and age, people who actually do things are considered less important. That's why the people working in a factory don't get paid much, but the guy who designed the workflow for those workers is well off. There isn't anything creative about following directions, but creating the directions to follow (i.e. the algorithm) is the creative part.
I will totally agree with you that computer code is written with great strictness and following a lot of directions. Anyone who's ever seen the words "segmentation fault" at 3 in the morning after hours of hard coding will totally agree with you. But just because you're following lots of directions and working within a strict syntax, your possibilities are still endless. After all, every computer can be modeled with a Turing machine, which is an incredibly simple machine, yet every computable algorithm you can think of can be executed using that Turing machine. Alan Turing was truly creative in this, and has created something of great beauty. Your inability to appreciate it doesn't make it any less amazing.
I challenge you to find something more creative than trying to devise a data structure that is fast yet scalable and flexible in how its data can be used. Because it's the creation of algorithms and data structures like those where the true creativity lies.
I will agree that it's possible to take the greatness and fun out of anything. Go to a business where all the programmers are working in a dull, drab cubicle being asked to spew out software to do dull things, and you'll surely get the sense that the souls have been sucked out of these people. However, the same can be said for anything that's creative. Ask anyone who's doing creative work in an occupational setting and you probably won't feel like what they're doing is very creative.
However, if you've ever been working at a problem and suddenly, you realize there's a simple and truly elegant solution to what you've been trying to do, you'll have truly experienced the greatness that is computer science.