Duck Typed Declarations of War
August 21st, 2007
Lessons from computer programming for U.S. government.
Duck-typing has gained a lot of prominence as a means to facilitate code reuse and refactoring. Proponents argue that the absence of type declarations results in shorter, easier to understand code that is simpler to maintain. For example, an objects which prints a list of it’s members names need not concern itself with the type of those members as long as each member has a name. If the object walks like a duck and talks like a duck, it’s a duck and it can be used and abused anywhere a duck might be needed.
Most statutory law code is duck-typed. A felon is someone who as been convicted of a felony and so on. There is no law that says John Doe must go to jail. John Doe only goes to jail if he is a criminal as declared in the statutes and implemented in precedent. Why then should the executive have a law that directs it to attack Iraq or Iran when what it really needs is a law that says attack Our Enemies? Despite the current limitations and red tape, it is possible to wage war to an interface. This benefits in a code of law that is easier to modify in the face of changing and conflicting requirements such as finding evidence of WMD, spreading democracy, stopping nuclear proliferation, bringing justice to Sadam, retaliation for Sept. 11, preventing terrorism, controlling oil supply, stabilization in the region, world peace, religious freedom, etc.
Rather than obtain a declaration of war from congress against a specific nation, a prudent executive should obtain permission to wage war on an abstract entity. Good picks include Terrorists and “Evildoersh” but even these may prove too constrictive for later refactoring. Goals always tend to change in any large project so it would be ideal to get a war declaration on the super, Our Enemies. Future implementations of democratic government should have better support for waging war directly on Our Enemies. Until then it’s possible to wage war on The Terrorists while raising few public exceptions.
Of course this is only proof of concept material and you shouldn’t trust it until TestCase::Iran is merged.
Your Response