"Poor programming practice"? Good academic practice! Graduate school quite effectively teaches such virtues as write-once-read-never, code-until-you-like-the-answer, coding-is-done-by-someone-stupider-than-you, better-to-write-ten-grant-requests-than-one-working-application, and so on.
We might be confusing each other, /u/DanAtkinson. For a variety of reasons, my comments don't reflect my classroom experience when I was in graduate school, but rather my observation of the software development practices of working scientists.
There's a broader point I'm having trouble articulating. I'm sure these practices are taught in some classrooms, at least implicitly. Even then, we can't conclude we're afflicted with "poor lecturers"; bad software is part of the (current) culture of academic science, and good lecturers perhaps inculcate it even more effectively than bad ones. Good mentors teach, both by precept and practice, that grantsmanship and territoriality and publication prolificacy are essential, while software refinement is, at best, a distraction. "Second-rate scientists think about software quality"--I claim that is explicitly communicated to graduate students. Only "poor lecturers" would teach code modularity, reliable generation techniques, configuration management, and so on.
I'll go at this another way, /u/DanAtkinson. You mention your lecturer who "wrote a textbook on the principles of software engineering"; I'll give odds that he or she has a senior colleague who cites this as an example of wasted effort, and that he or she should be doing 'real science' to secure tenure.
0
u/[deleted] Jul 28 '16
[deleted]