5 ms·
I'm pretty surprised at the dismissive tone of so many of the comments here, most of which seem to focus on orthogonal and uninteresting quibbles like "you say
by ledauphin 5y ago
I'm pretty surprised at the dismissive tone of so many of the comments here, most of which seem to focus on orthogonal and uninteresting quibbles like "you say magic means X, not Y, but I say it means Z".
The author's point seems fairly clear to me: there are some types of metaprogramming where the "why" is reasonably discoverable, and other types where it is not. "Magic" is often used as a derogatory umbrella term for any kind of metaprogramming, but in fact we all use metaprogramming on a regular basis, and generally the umbrella term is used to disparage metaprogramming that I, the center of the universe, am not familiar with.
I think the point is well-taken. Much of programming is metaprogramming; it's a matter of which parts you've familiarized yourself with and which you haven't, and it dumbs down the discourse when people misuse the word magic to describe discoverable forms of metaprogramming. It would be better to specifically critique individual forms of metaprogramming so that we can have productive discussions about those forms.
- deleted 5y ago[deleted]
- musingsole 5y agoIn most fables, it's possible to track down arcane rituals in full detail if you have the patience of a lifetime. From this perspective, discoverability isn't sufficient to claim that something isn't magical. What's magical is that it's sufficiently complicated and reliant on other sufficiently complicated things that -- in practice -- no one utilizing it will bother digging that deep. These things are only knowable in the hypothetical. In practice, they're arcane incantations with rigid, arbitrary constraints that must be respected for the system to function as you'd like.
- djur 5y agoPretty much all of computing is based on multiple layers of complicated things that the end users (including programmers) don't understand. How do we distinguish "magic" from "a successful abstraction" or "an effective and powerful tool"?
- quinnjh 5y agoIs it necessary that we do? https://m.youtube.com/watch?v=MzlK0OGpIRs https://m.youtube.com/watch?v=MzlK0OGpIRs