Why would we lie to ourselves?
DadHacker has a most excellent post about the joys fun greatness use of makefiles and buildscripts. Most of what I do nowadays is in the wonderful and mysterious land of C++, so this article is DadHacker reaching into my chest and plucking on my geeky heart strings, strumming my pain with his fingers and singing my life with his song. It’s very much a great read.
There’s honestly too many parallels between his article and my work here for me not to think he sat over my shoulder and used me as a guinea pig. The builds that succeed but then report broken (those are my favorite emails), touching common structures/headers (I’m looking at you, Shared), build time escalation (here we just threw more hardware at it… my old machine would take 1-3 hours for a full build, the current one takes 30 min to an hour). It’s all there. And if you happen to use Visual Studio to manage all your builds, you might be using MSBuild, NMake, or none of the above. MS even removed the option at one point to export solutions into makefiles (I think in 2003? 2005?), so for consistency’s sake you end up calling devenv.exe from the command line and the do builds using the solutions themselves. C# helps some, but Visual Studio in its infinite wisdom likes to build all the managed code every time even if you didn’t touch it. It makes me miss Java and Eclipse, if it weren’t for that damn classpath (mmm… being able to just change things in the debugger and getting no complaints… stupid mixed-mode).
What do people in “sane” languages/environments (cough cough Kyle cough cough) do about this stuff? Some days I feel like I’m living in the “programmers eat each other here” part of the map. I had to add a default parameter recently to a pure virtual function, and my eyeballs started to bleed.




See: http://blog.infinitechaos.com/category/development/
Kyle Smith
July 14, 2010 at 2:32 pm