When I started developing (small) applications, I distinctly remember thinking “wow, I have to get a faster computer… the compilation takes forever”. At the time I had a thing for POVRay, and I still do, and I knew that every change I made may cost me two hours of render-time. Immediately I saw the similarities with compiling : every change triggered a recompilation, which could take some time too.
As I started coding bigger things, it took up to 15 minutes to do a compilation from scratch (and believe me, with some SDKs you need to cleanup and rebuild), which is about the time it took to make a coffee, from getting the beans to filling the cup.
Needless to say, if I didn’t want to end up with a heart attack, or unable to actually sit down for more than 5 seconds, I had to batch my changes to minimize compilation time.
And then I got a shiny new computer. It took only 5 minutes to compile my biggest project, so I had to get an expresso machine. What a pleasure tu actually see your changes a few minutes after you made them! And since I had a faster computer, I switched to Blender (while retaining the POVRay import / export plugin, of course).
After a while, the Codewarrior support dwindling down, I had to start using Project Builder. What a shock! GCC was way slower than Metrowerks’ compilers, even though the tools were much more adapted to the Mac OS X platform. Too bad, I already had my expresso machine, so I had to try and learn juggling.
With projects getting bigger and bigger, and applications needing opensource libraries to run, the time my computer spent on compiling skyrocketed. So, when I had enough money, I got (another) new computer, faster by an order of magnitude from what I had.
Again, the computer accelerated, and I had to drop my juggling practice. That’s why I don’t know how to do it anymore. Yes really. Yes I managed to juggle 4 balls. No there’s no proof, you’ll have to believe me.
Anyway, here we are, I have a dual 2.5Ghz G5, with 4 GB of RAM, and I have been waiting for an hour and then some for a compilation to end. And afterwards, I know I will have (yet) another one to perform.
I wonder if I could take on learning a foreign language?