You can go study religious spells in a school as well. There are catholic universities teaching exorcism, and buddhist schools teaching tantric magics that give you superpowers. The critical difference is that I don't believe in either of these things, so I've labeled them "occult". I believe in programming and I'm not calling it occult, but there's little to objectively distinguish it from those other practices.
This is simply a reflection of my beliefs though, not an objective reality of the world. I trust that the TRM for my chip accurately reflect the details I can't observe for myself. Many devs don't even go that far down and trust that their OS, or programming language to behave as they expect. We're all dealing with black boxes on some level.
To quote a reasonable definition from an actual scholar on this subject, Jesper Sorensen:
Thus, magic is generally conceived of as referring to a
ritual practice aimed to produce a particular pragmatic and locally defined result by means of more or less opaque methods.
This pretty much perfectly describes how programming is perceived by normal people. I could also quote Malinowski, who argued that magic must have a kind of "strangeness" to differentiate it from non-ritual speech. And programmers regularly describe difficult bits of code as magical (e.g. magic constants, or fast inverse square root) even though these are easily explained in most cases.
> but there's little to objectively distinguish it from those other practices.
Isn't there? I would say that the key difference is that programming actually works, and works reliably. Even if it is opaque to normal people, at least the programmer themselves has a reasonable ability to understand why their program will work and critically can "call their shot": they can reliably predict the effect a certain program will have. Magic is not like that: even if the practitioner claims to understand how it works, their success rate is typically abysmal. AFAIK there are zero faith healers or other magic types whose claims consistently hold up when inspected, but programmers and other engineering types do it all the time. That's the objective difference right there, even if normal people struggle to discern the two.
Well, there's magic and then there's magic, you know? If you want to perform an incantation that really works, the only formula or ritual you will ever need is: "Be the change you wish to see in the world."
It is a ritual, though. That means it only works as long as you do it every day.
This is simply a reflection of my beliefs though, not an objective reality of the world. I trust that the TRM for my chip accurately reflect the details I can't observe for myself. Many devs don't even go that far down and trust that their OS, or programming language to behave as they expect. We're all dealing with black boxes on some level.
To quote a reasonable definition from an actual scholar on this subject, Jesper Sorensen:
ritual practice aimed to produce a particular pragmatic and locally defined result by means of more or less opaque methods.This pretty much perfectly describes how programming is perceived by normal people. I could also quote Malinowski, who argued that magic must have a kind of "strangeness" to differentiate it from non-ritual speech. And programmers regularly describe difficult bits of code as magical (e.g. magic constants, or fast inverse square root) even though these are easily explained in most cases.