Throughout the 2012 Presidential campaign, Mitt Romney has been accused of being a "flip flopper." He seems to have changed his position on many key issues: health care, abortion rights, immigration. Many, supporters and detractors alike, have come to question what he stands for. Does he stand for anything? (My analysis of the root source of his convictions is coming in a future blog post. Stay tuned.) People, especially politicians, who changes positions (in fact positions that seem to be 180 degrees apart), are often labeled, pejoratively, as "Flip Floppers." "Flip Floppers" seemingly holds contradictory positions or, in a temporal context, currently believe and support ideas that they opposed in the past. George H. W. Bush, George Bush, John McCain, Sarah Palin (remember the "Bridge to Nowhere?"), and of course Mitt Romney come to mind. To be fair, Barack Obama (on gay marriage) does not escape the scourge of being a Flip Flopper.
Flip FloppersFlip Floppers have a bad name. After all, how can you trust someone whose position is often changing? I myself have looked critically and pejoratively at Flip Floppers. I'm a believer in logic, math and science. Consistency is an important value and artifact of this believe system. Illogical and inconsistent argumentation are easily discounted.
It's easy to rationalize such inconsistencies in the "Real World," however. Premises are often times unclearly stated. The language (say English) to build an argument is probably inherently ambiguous and fails to express precise meaning. Hence, formal logic is often too brittle to express how we must reason about the real world.
While still clinging to the value of logic, science, and math, I must concede -- the rigidity of such systems must account for the possibility of Flip Flopping.
I'm flip flopping on flip flopping!
Temporal Context"Times Change."
Time really doesn't change. This is a strange saying. A misnomer. However, it's easy to see the
circumstances in which ideas are formulated, conclusions based, and actions taken
change. Whether it be social values, Constitutional amendments, demographic shifts, economic climate, the circumstances of a decision are important predicates of those decisions.
Therefore, I understand why a person -- a candidate -- may support a position, legislation, or an ideology that is different from that of the past. The premises for one's views are different. So, it's logically consistent to have a different position because of the changing hypotheses. Hence, there's a logical explanation for a flip flop. So, I found my rigid values against flip flopping now suspect. I've flipped flopped!
Note however, this is not the only reason for a flip flop. I suspect that Romney's flip flopping might not be based on this logical conclusion. (Again, more coming.)
In TechnologyTechnology changes at a remarkable pace. Some say exponentially
fast. Hence, the premises we make with regards to technology are constantly changing. Consequently, the conclusions we draw and the opinions we have should also be changing with changing technology. Even so, sometimes we "dig in" and stick to our guns on ideology. I think this is wrong. We must adapt. The "pendulum of technology" swings wide, but not necessarily fast.
Examples are rampant. Thin clients vs fat clients. Cloud computing/storage vs. customer premise ownership Waterfall SW development vs. Agile. Consumer applications vs. enterrprise solutions. Out-of-the-box software vs. custom configured solutions. Lots of processors vs. more memory. Fast networks vs. big processors. My favorite: Compile time typing vs. runtime typing.
Language Typing
For years I've clung to the value of strong typing. At compile time. It's not hard to see why -- in my formative years at the University of Washington going to Xerox, Bell Labs, Sun Microsystems, and BroadVision, strong typing, early typing, compile time object hierarchies ruled my thinking. From Pascal, Eden, and Emerald to Mesa and C++ to CORBA/IDL and then Java, strong compile time typing provided the basis for sane system design. Creating "contracts" through interfaces that hid implementation seemed to be the path to software safety and scalable systems. It's certainly served me well.
Then in the late nineties, a disturbing reality reared its (ugly) head -- it was clear the web was not going to be build on these principles. Statically typed languages were failing us. We couldn't build scalable web systems. We couldn't move fast enough and we couldn't adapt to change quickly enough. Dynamically typed, interpreted languages would rule the naughties. Perl, php, Python, Ruby, JavaScript were destined to be languages of choice for the Internet. Languages that deferred (or ignored) typing until very late. How could such systems be safe or scalable?
But, it is clear what would happen; programmer productivity, the safety resulting from interpretation, and garbage collection would rule supreme. Compile time typing was dead. Long live dynamic typing and interpreted languages. Indeed, the web was built this way. Flip flopping, I've since deployed systems in Python, joining the bandwagon.
The Pendulum SwingsThe pendulum has swung far right. We're all on the Python/Ruby/php bandwagons. However, I sense a change back to the left afoot. Strong typing, compile time typing, type safe languages will have their day in the sun again. And we'll all flip flop again.
As for RomneyDoes my technology example shed any light on Romney and his values? Maybe. However, I suspect his flip flopping is rooted in something different -- the formulation of positions based on the process of a consultant. More coming...And, expect even more flip flopping in the future.