OOP and Democracy

I would like to highlight some similarities that I see between object oriented programming (OOP) and democracy.

First, both are systems of government: one to organize political power, the other to organize code.

Second, both are children of history, borne out of a need to overcome fundamental weaknesses of previous systems. Democracy seeks to avoid the concentration of power in the hands of the few by giving people the power to choose; OOP overcomes the disconnect between programming language constructs and the real world by giving programmers objects and methods and properties.

Third, and most crucially, both are considered to be the final and only solution by the mainstream, although they are both flawed in important ways. The relatively recent fall of communism and the switch to democracy in eastern Europe was heralded by the West as an inevitable march towards destiny. But then, democracy is concerned only with what is popular with the voters, not with what is right, which is what might have prompted Winston Churchill to say, “democracy is the worst form of government except all those other forms that have been tried from time to time.” Likewise, a programming language nowadays is considered archaic if it doesn’t offer OOP features, although the weaknesses of OOP are many. One of the biggest drawback of OOP is the complexity it tends to introduce. Although this is not a problem with OOP per se but with the code that programmers write using OOP, the same could be said of democracy in terms of voter irrationality and apathy. On paper both systems look good but they don’t take into account the human factor when it comes to actual implementation.

Fourth, alternatives to democracy and OOP still have their adherents, and most of them seem to be fine, although they have to endure being treated with a mixture of pity and contempt by democratic countries and OOP programmers. On the other hand, should the implementation be good enough, admiration for them is even possible, such as the citizens of Brunei, who live under a benign and generous monarchy, and RPG programmers, who are well paid, I suppose, and lead very stable lives due to the predictable nature of their work [1].

Notes

[1] Unlike .NET programmers who have to contend with paradigm shifts every 3 months or so.

11 February 2009 | Uncategorized | Comments

Comments:

  1.  
  2.  
  3.