A cow-orker of mine has a solution for long build times [a full build of my current project takes about an hour]. He set up a large table next to his desk at home, upon which he’s piecing together a very large jigsaw puzzle.
That’s a pretty cool puzzle, but it’s apalling from a build time standpoint, and that’s a small project in the real world. Every project I’ve ever worked on has gone from five minute builds to … well, playing darts and killing baddies in Quake on a spare machine. Computers get faster, but disks haven’t gotten much faster, and every project seems to bloat builds to insufferable durations before anything is done about the situation.
Even incremental builds are horrible; five or ten minutes is not quite enough time to really get into some other task, but it’s plenty of time to lose concentration on what you were working on.
The best development environments I’ve worked in have had sub-ten-second turnaround times (sometimes virtually instantaneous turnarounds). These are great for getting work done, though without discipline you can wind up hacking things up, rather than designing.
I bought a classic Macintosh in the fall of 1984, and sold it six months later because the development environment I had (the MDS assembler) required 12 clicks to get from an edit to a running program. No fewer. A few weeks of this and I was ready to give up Mac development forever.
So if you have a tools team, and they are working to improve your build environment, pat them on the head or take them out to lunch from time to time. Things could be worse.
[…and the next quote build system unquote I see that is built from .BAT files, I’m going to format the disk of the person who wrote it and make them program in 68000 assembly language for six months. Click. ClickClick. ClickClickOkayClick….]