3 ms·
I hope that's not true. A koan's job is to thwart understanding. This concept, on the other hand, is simple and beautiful and it ought to be possible to explain
by gruseom 14y ago
I hope that's not true. A koan's job is to thwart understanding. This concept, on the other hand, is simple and beautiful and it ought to be possible to explain it — though perhaps not without a few well-chosen examples. (Edit: kaizen-konpusai beat me to it on the latter.) For fun, I took the liberty of revising your aphorism (don't be mad. I mean it as a tribute ;)) and adding one explanatory bit. Do you think anything has been lost?
Metaprogramming involves three things: the code as text, the code as program, and the code as data.
The text (often called the source code) is what programmers read and write. The program is what the code does. The data is how the code is represented to other programs.
A good language for metaprogramming requires two things: the program must be easily expressible as data, and the text must clearly evoke both the program and the data in the mind of the coder.
- nickbarone 14y ago+1 for awesome, I really like the added line ...but, AFAIK, a Koan tries to thwart understanding in order to communicate an otherwise impossible to describe concept. By preventing understanding yet asking for investigation, a koan communicates its actual content through your investigation, rather than the successful translation of the words into your thoughts.
- gruseom 14y agoYes, that's more or less how I think of koans too. (There's also the fact that in the tradition that originated them, koans were given in the context of a personal relationship between teacher and student. We missed that when we turned them into intellectual gimmicks.) But the point is that this metaprogramming business is not impossible to describe.