http://www.perlmonks.org?node_id=415085


in reply to Re: Programming is combat
in thread Programming is combat

I wholehartedly agree. If "Programming is Combat", then I would define programming as "something which, while sometimes necessary, is best avoided". I just don't see the average coder envisioning themselves as being thrust into the middle of a violent coding session.

The Military way of thinking is far too inflexible: as my Army father used to say, "there's a right way, a wrong way, and the Army way". It seems to run counter to TMTOWTDI, and indeed to every notion of great programming that I'm aware of. The whole of training and management in the Army is to keep people alive -- and that means that they must trust their commanders and be willing to blindly follow orders (it will probably save their lives).

While I agree with some of the "lead, follow, or get out of the way" mentaility, I have to say that it goes much too far to be effective with a team of independant, highly-intelligent people. Lead, yes. Be willing to follow a leader, yes. Control the desire (in yourself or in others) to stagnate a project because someone "wants their own way". All of that can be accomplished through judicious use of democratic principles. Yes, strong leadership is required to ensure that everyone abides by the decisions of the group, but a leader who will simply quash dissent is a poor leader. Unfortunately, the military method of leadership often results in quashing dissent; quite possibly because the people who are implementing it haven't had the extensive officer's training that balances the "strict leader" theory.

Rather that saying "programming is like X", how about "programming is programming". Metaphor and analogy are useful, up to a point, but letting a thing be what it is usually ends up being a better long-term strategy. That's a core principle of Taoism at work for you there -- we can learn about the Tao through metaphor and analogy, but "the Tao that can be named is not the true Tao". Likewise, we can learn the art of programming by comparing it to life, or military service, or the manufacture of hot-air balloons; yet, "the art that can be named is not the true art" -- all the metaphor in the world will not produce a better programmer than someone who just "gets it". And, that is achieved like it is in any other art -- practice, experience, shared knowledge, and practice.

radiantmatrix
require General::Disclaimer;
s//2fde04abe76c036c9074586c1/; while(m/(.)/g){print substr(' ,JPacehklnorstu',hex($1),1)}