The Shen of Programming

I wish to convey to those who come after me, who may work on Shen, a code and philosophy different from those motivating much contemporary thought. The word 'Shen' is Chinese for 'spirit'. The spirit of Shen is embodied in this programming philosophy, because from it Qi and Shen both emerged. It is quite short.

The principles given here are applied in a modern setting, but arise from very ancient traditions and may be found in the works of the yoga-sage Patanjali, in the martial arts and in the works of the ancient Taoists. They reflect my personal view and are very different from what you will read from Eric S. Raymond and Richard Stallman. I have organised this philosophy, in the manner of Patanjali, in a series of 7 aphorisms to which I have attached a commentary.

The Aphorisms

  1. Correctness in approach arises from one-pointed focus in solving the problem. This requires emptiness of mind.
  2. To release early and often is to pluck the fruits of the tree before they are ripe. Few will eat the fruit and few will return to the tree.
  3. To value the created above the creators. Such a mind must eventually destroy even itself and also what it takes.
  4. To add is nothing. To add what is already there is less than nothing. To subtract and take away nothing is greater. To subtract and be left with more is true achievement.
  5. There are two paths in programming; the path of power and the path of understanding. The path of power gives quick results and leads to stagnation. The path of understanding gives power.
  6. Freedom to change code is a benefit only when there is discrimination.
  7. The idea is more important than the platform. Flame wars arise from not understanding this.