I'm a computer science Ph.D. student who works with that software that runs on the supercomputers. Yes, the code is bad, but no, it is not slow. In fact, the people (often not computer scientists) who write it are often really, really good at getting every little ounce of performance of it. And yes, they are pragmatic about it -- good performance is more important than good code. Sadly, this is often why they are producing software that's getting work done while many CS students aren't. The CS students are too focused on the code and not on what the code is used for.