I think the main reason is that in the good old hacker days of the young(er)
Gates' and Jobs' of the world, the computer was not as widespread a
phenomenom as it is now.  With the increased popularity of the PC
come a plethora of mundane business uses which required more practical
minded and narrower-focused programmers.

Why be a hacker when you can get a good job programming databases or
programs for accountants?  Basically, the yuppies caught up and
disciplined the hackers, and molded them in their own image.
