(What's you field? Mine's computational physics, but I collaborate a lot with experimentalists.)
When I say version control, I meant for in-house projects, that tend to be just on someone's laptop and also a horrible mess, as you say. Most public codes are indeed on some VCS, git is very popular in my field. But reproducibility is a whole other matter. There's been some interesting work on providence systems that can attach all input needed to run a code for reproduction to e.g. figures in a paper, but until we've got a good universal one that journals start caring about, they're not going to see wide adoption.
As for non-computer-savvy profs using grad students for programming: I see a lot of either LabView (for controlling experiments) or Python/Matlab in those cases, and it's often "write-only" code, but it mostly gets the job done.
I'm also optimistic, but there are too few people working on and caring about the software carpentry we need to back modern svience in a good way.
As for non-computer-savvy profs using grad students for programming: I see a lot of either LabView (for controlling experiments) or Python/Matlab in those cases, and it's often "write-only" code, but it mostly gets the job done. I'm also optimistic, but there are too few people working on and caring about the software carpentry we need to back modern svience in a good way.