"Staggering possibilities managed by rules: that's also a description of natural language. The difference is, when it comes to natural language, we've had lots of time to deal with it. Our brains have evolved pockets that just do language-y stuff. When I write, I benefit from this history. When it comes to programming, we're just getting started. Our brains need help."<p>From what I've read (reading On Intelligence currently), language is far too new for our brains to have evolved any significant optimizations for it. We owe our processing ability to the amazing versatility of the neocortex - something that can adapt to nearly any sequential input we throw at it.<p>The same mechanism is at play for understanding programming - we just don't tend to be bombarded with code from the age of zero or use it directly to get food or sex as life progresses.