|
> I do like thinking of myself as a wizard, though. This doesn't address your first paragraph, but I wanted to comment on this. I identify as a hacker. The terms "wizard", "incantation", etc are fairly ingrained in our culture. But if I do something and someone refers to it as "magic", it actually makes me uncomfortable; it means that they don't understand what I did or how I did it, and rather than trying to understand it, they dismiss it as something magical. This might sometimes be because they have better things to do at that moment than consider what I did---which is fine. But comparing it as magic still rubs me the wrong way. I don't do magic: everything I do is explainable, and I can explain it to you if you ask. I used to practice magic when I was much younger---I was an illusionist for a couple years. I was pretty good at it. I did street magic, mentalism, and various other things that seemed impossible or even supernatural/metaphysical. Magic. I still do some tricks I remember for my kids. But whenever they think that it's real---whenever _anyone_ thinks that it might be real---I make sure that they understand that it is an illusion. A trick. A hack, if you will. With my kids, I show them how it's done. And they still love it. The article shows a regular expression and calls it a "magical incantation". It looks opaque, but it can be understood. The language can be learned. You can format it in a sane manner and dissect it. (Displaying a regex that complicated on one line is a disservice to others, with the intent of making it look opaque. It's like removing all whitespace and newlines from your code or writing complicated one-liners and saying "look, it's magic".) It isn't a magical incantation. |
It occurs to me that the first steps I take in most new-to-me established projects are basically magic - I'm looking for specific shell commands that the other dev(s) use to perform certain actions: build, run, test, deploy, etc. What's more, there are often undocumented environment dependencies - env vars that need to be set, certain executables that must be installed on the dev's system and in the path, etc.
> It looks opaque, but it can be understood.
I don't think "magic" in this sense means "cannot be understood" - only that it's incomprehensible at some point, and it's performed without understanding to achieve the desired result.