4 ms·
Like many koans, I'm afraid it probably only makes sense to someone who already knows; I suspect it's completely meaningless to someone who hasn't already had a
by diiq 14y ago
Like many koans, I'm afraid it probably only makes sense to someone who already knows; I suspect it's completely meaningless to someone who hasn't already had a chunk of direct experience.
- kaizen-konpusai 14y agoTo fix that it probably only needs one or two really good examples, though. I find the lack of examples to be the most common cause of misunderstanding. The reason the experienced person understands is because they have their own examples already.
- gruseom 14y agoI 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.
- recursive 14y agoI'm not sure how representative I am, but as someone who doesn't really understand what meta-programming is about, my impression is that it's a combination of nonsensical comparisons (e.g. I don't understand the difference between text and data) and vacuous truths. I suspect this is a reflection on me more than the koan, but I also think my reaction would probably not be uncommon among the unenlightened.
- codeflo 14y agoTo give an actual answer: What's meant by "data" is a richer structure than mere text. For example, an expression tree that can be manipulated by recursive procedures to form a new expression tree.