I can understand why C++ isn't appropriate for this. Object-oriented programming has little to do with linear algebra, and a nightmarishly-complex language that's desperately trying to reinvent itself also isn't appropriate for pedagogy. But you still need a lingua franca, a language you can use to express the relevant principles without trying to evangelize one arcane functional language or another at the same time like so many authors try to do these days.
Being a relatively straightforward procedural language, C works well for this purpose. Everybody doing numerical computing is at least familiar with the fundamentals of C programming, or should be.
Is there some institutional resistance to plain old C, or is it just a matter of widespread personal prejudice among both students and teachers?
Compare the number of LOC or any other metric. Once you have high-level access to underlying algorithms (implemented in whatever native technology, but hidden), it is much, much, simpler to work at high-level.
It's because LoC and readability and maintainability matters.
Teaching Linear Algebra using NumPy isn't equivalent to teaching people linear algebra + teaching people to optimize LoC. Flawed argument.