Programming is technology but not "occult" technology, and I don't really see the added value of treating it as occult. Quite the opposite actually, most good programmers I know acquired their skill because they have a decent grasp about the entire system rather than treating most of it as a black box.
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.
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.
All technology is like this to some extent, but a lot of technology is grounded enough for the average person to see the rough operation of it. You look inside a washing machine, there's a part that spins around. Attached to it by a rubber belt is a smaller part that spins around, and has electric wires on the other end. Your explainer points to that and says "that's an electric motor - it converts electric power into spinning motion" and you say "ok".
How do you do that with code?
I guess the difference between magic and science to me is that "not everyone can learn magic", but the core bit that makes science work is that in principle everyone can learn it. In practice of course we cannot know everything and so have to rely on the expertise of others, but that is a limitation in the humans and not in the knowledge. Meanwhile for "magic" you have to be chosen by the gods/genetically gifted/cursed/whatever.
In a universe where magic is just another skill that anyone can learn, that reasoning goes right out the window of course.