I never know if the software I look at is bad due to intelligence or ignorance; the latter is forgivable in inexperienced software developers, but not in experienced software developers. Ignorance in punditry is ignominious but rampant; it is surely one of the biggest problems in software development today.