This week saw something called “The Algorithm Auction”, “proceeds will benefit the Cooper Hewitt, Smithsonian Design Museum”.
This is a really, really stupid idea, though I have no quarrel with the charitable intention.
“The Algorithm Auction is the world’s first auction celebrating the art of code.”
First of all, they are misusing the word “algorithm” here. The items for sale are expressions of algorithms, more or less, but not algorithms. It’s like auctioning a rare old printing of “Moby Dick” and claiming that you have collected the novel itself. Just plain logically wrong.
Second, they are abusing the term “the art of code”. This is generally meant to refer to the skilled craft of creating code, not to visually appealing printouts of code. Anyone who thinks that pretty looking code is good code is destined for disaster.
I could also snark about the crude and offensive stereotyped renditions of the code. I mean, representing a supposedly significant piece of code as a low resolution printout on fan fold paper? As screen captures of glowing text on a screen? As a hand written scrawl.
Maybe the representations are meant to portray period accurate technologies. But what I see is a shallow Hollywood /Disney version, that owes more to the curators than technology. And none of it has anything to do with algorithms or code.
But the thing that really irked me is that most of the items on offer aren’t particularly important, interesting, or artistic.
We have “Hello world”, which is certainly a historically important tutorial, but it ain’t an algorithm, and it ain’t pretty. It is pretty much impossible to write visually attractive C code, and one of the things I remember when I learned C (yes, from Kenigan’s ‘Hello world’) was how terribly designed and flat out ugly C is.
Other items seem to be awfully random. OK Cupid matching algorithm? Turtle Graphics? Qrpff?
And so on. This may be cultural history, but it really isn’t ‘art’
Digging deeper into the auction, we find that what you are actually buying, aside from the celebrity value of, say an autograph of Brian Kernigan, is a variety of strange properties. In some cases the items include a “license” to download and use “the code” as well as the picture of the code. I didn’t see any case where you get an algorithm or even any particularly significant code.
OK, I’m not really concerned about the silliness. Rich people buy crazy things under the guise of “collecting”.
But this really is a disservice to both the craft of coding and to the recognition of real beauty in algorithms and coding.
For example, consider one of the most beautiful algorithms ever, the binary search tree. The basic idea is so deep and so simple and it works so well. It is awesome, elegant, and beautiful. There are many variants and you can code it different ways, and some of the encodings may be prettier than others. But that isn’t important, it is the concept that is so awesome. And you can’t “auction” it.
There are quite a few really important algorithms–others might be quicksort or hashed indexing or edge finding. These are the truly part of the cultural heritage of humanity. But it is stupid to talk about collecting them or even owning them.