Prescriptivism doesn't "work pretty well in programming languages". It's a frustrating requirement of current programming languages and runtimes.
If someone were to release a runtime that could reliably do "what a programmer means" instead of "what the programmer types" that runtime would be heralded as one of the greatest advancements in computer science in history.
Thankfully, the human mind is not as limited in its ability to parse context.
Ah yes, but how do you interpret "what the programmer means" besides "what he types"? If what he types is open to various interpretations, it becomes impossible to divine what he means without asking him for clarification. This is the case with spoken language, especially to audiences with differing contexts. That's exactly why having a maximally simple and clear reference to the meanings of words is important. It's in order to avoid having to clarify what you mean when you say "women's swimming competition", for instance.
Seems to work pretty well for programming languages and communication protocols doesn't it? Why do you think that is?