Just read this piece over at ONLamp. I agree with the observation that a bar to entry is a very poor excuse for complexity. However, despite the very amateur nature of the original article, he does a fair job explaining how complexity often arises incrementally.
I still find myself thinking, outside of the spurious association with complexity, are barriers to entry a good thing or just elitism? I talked about this in my rant on vocation programmers last year. I think there is a danger when the bar is too low, that hackers not equipped to do so, skill or experience wise, end up over their heads when trying to cope with issues of scale. A simple Java, PHP or .Net web site for a couple of design users experiences very different issues than one with hundreds or even thousands.
For instance, thinking about race conditions, how often there is a threshold below which they simply won’t pop. A naive threading implementation will just not experience certain errors if the utilization is too low.