Software at the Toddler Stage
Developing software is an adventure where you explore the unknown, one line of code at a time. At some point, the program reaches the stage where you can actually run it and try it – and that's where the real fun begins. The software will sometimes behave as expected, but more often than not it will not. It will do something else, or crash, or generally do the wrong thing. It is very much like a toddler – you can rely on it to some extent, but you never know when it will decide to do something unexpected, funny, or just throw a fit over something that would have seemed inconsequential.
I have spent quite a bit of time recently with toddler stage of Simics 4.6 (prereleases and betas). The end result is really good and qualifies as an adult specimen (as discussed previously on this blog), but there was a lot of entertaining (and frustrating) things that went by as Simics 4.6 was a toddler. All software developers have stories like these to tell, but I just wanted to share a few of the funnier ones and give a glimpse of just how much work it is to get something like Simics running.