This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Why Complexity Creeps in
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Mark Bernstein uses a simple date example to demonstrate the underlying complexity that develops in software:
If you're American and you write a date as "1/20", you probably mean "January 20". Which one? This one — not January 20, 1943, even though that was a perfectly nice day (unless you were somewhere near Voronesh or planning the North Africa landings, anyway). But if you write 1/43, you probably mean "January, 1943." It's nice to have software that behaves sensibly with you do this, but each of these cases adds complexity, and adds even more edge cases.
All you need is a small handful of such edge cases and you end up with a ton of mostly unavoidable complexity.