|more useful options|
Re: Best practice or cargo cult?by Anonymous Monk
|on Jun 20, 2006 at 17:01 UTC||Need Help??|
It sounds to me like you're raising a false dichotomy. If, by "cargo cult programming", you mean "doing something you don't fully understand"; well, that's true of a lot of programming, and indeed, a lot of life.
People learn very quickly, even as children, how to turn on a light switch. They don't know how it works; it could be magic for all they know -- this is the very essence of a cargo cult.
And even worse, almost nobody learns enough to really understand how to make a light bulb work; there's glassmaking, and metalurgy, manufacturing and storing inert gasses, generation of electricity, power distribution systems, and probably more.
And yet, we survive despite (or probably, because of ) this "cargo cult" mentality. We live our lives doing things that we don't understand, in the hopes that a few really smart people do understand the pieces or subsystems involved (electrical engineers do the electrical stuff, mechanical engineers do the manufacturing stuff, etc.) This is true for our entire society; and it's stable.
I don't know why computers should be any different. We should make the basic interfaces so simple that a child can understand them; and leave the hard stuff to the experts who really need to know. This principle is called "abstraction", and it's identitical to a "cargo cult" with one critical difference: in a cargo cult, all the experts who once understood the abstractions are gone.
Cargo cult culture is just a cry for more experts who can understand the old abstractions; it's the well known problem of missing documentation under a different guise. If the islanders had documentation on how to construct and maintain radio towers, and were willing to spend the money on education of the experts and maintainance of the infrastructure, they wouldn't have a cargo cult; they'ld have working radios.