It’s important to focus on creating a fast feedback cycle when building software (well, when building anything, really). When you make a change, how quickly can you see the effects of that change? Having a fast feedback cycle is like a coach standing over your shoulder saying “Yes, yes, that’s the right way to do it.” or “Nope, try that again.”
In the days of mainframes and punch cards (long before my time), the software feedback cycle was measured in hours if you were lucky, days if you weren’t. Now, the feedback cycle is measured in seconds. But even then, the psychological difference between a ten-second vs. a two-second feedback cycle is huge. If that sounds foolish, imagine if you were required to count eight Mississippi’s before clicking on a link when browsing the web.
Good software developers invest time in tools to help shorten the feedback cycle. One tool I’ve been refining over the past two years is an Erlang utility called Sync. ( Get the code.) Sync takes advantage of Erlang’s ability to hotload code into a running system. It keeps an eye on the backing source files behind the code, and if it sees that a developer has changed a file, it automatically recompiles and reloads the code in the running system.
To shorten the feedback cycle even further, Sync pops up a Growl notification to show whether the compilation was successful, or if there were warnings or errors.