random-state.net

Nikodemus Siivola

<< next | top | previous >>

This makes me sad #
hacking, January 22nd 2008

A short while ago, I wrote a piece parodying a few common memes oft seen in programming blogs:

  • Primarily, valuing terseness over readability and long-term maintainability. Terseness and conciseness do not imply expressiveness. While it is reasonable to expect for the reader to be familiar with the language used and various common idioms, it is not reasonable to make abstractions that are larger then the problems they solve.
  • Secondarily, the tendency to use trivial operations over small sets to demonstrate benefits of a given approach for non-trivial operations over large sets. Granted, blogs are too small a margin for many things, but we should all pay more attention to this.
  • Finally: "the utter clarity that functional programming delivers". Just like code that depends on intricate side-effects is hard to understand, code that depends on intricate flow of values can be hard to understand. Saying "It's Functional!" is not an excuse for impenetrable code: sometimes your personal aesthetics and clarity of expression are at odds, and you must find a balance that does not unduly stress future generations that must live with the code we write today.

In other words, the arrow macros I presented were intentionally horrible. If you thought they were neat, think again.

I hope the fact that my parody elicited more responses then anything I've ever written before — some liking, others disliking, but all taking it seriously — is more indicative of my meager skills as a humorist, then it is of the state of the programming blogs.

*sigh* — I thought disclaimers are for wussies.