Version Control Should Be Taught More
December 18, 2013
Software is complex. Like really complex. Like millions of lines of code, several year-long development period, countless contributors complex. More and more, software is something done with others. Collaboratively. As a team. It then stands to reason that developers need to learn the best way to work with other developers.
Version Control is an elegant solution to this program. It allows developers to visualize every single change made, who contributes what to the project, and how much everyone commits. At least, Git does this. I can’t think of a compelling reason to use any other version control system, other than “I don’t know Git.”. Git is easy to use, relatively ubiquitous, and popular among the FOSS community. But I don’t mean to advocate a particular version control scheme, as much as I mean to advocate version control itself.
Working with others breeds good software. So schools that teach programming should teach version control. At RIT, the HFOSS course does this well, but a surprising number of students in the class had no version control experience prior. That’s upsetting, given how much the web is a collaborative industry. I encourage high school programming classes and any at the college level to at least cover the what/why/how of version control. For the good of software.