Why are sustainable software practices difficult to teach?
Programming is a difficult thing to learn for students who have not been exposed to it before. However, for general programming there are at least some factors that help to make it easier. Feedback is generally very rapid; after writing and running a piece of code, students can see the result straight away. This isn't true for e.g. automated testing; the payoff for writing a test suite comes long after the fact, when it helps to catch a bug. The same goes for version control — until students have encountered one of the problems that version control is designed to solve, it seems like an unnecessary extra step in development.
Increasingly, programming is becoming a necessary tool for students who don't have a computer science background (represented in this discussion group: meteorologists, biologists, psychologists and physicists). Students coming to programming for the first time are often lacking in computer…Continue Reading