title: Is there a methodology to avoid backwards incompatibilty that is sometimes enforced upon us?
body: <p>Sometimes, 3rd party libraries cause havoc when they change their interface. In some languages, it even happens on the language level.</p>
  
  <p>Is it possible to write our code in a way that will prevent it?</p>
  
  <p>For instance, I can think of one way - writing your own wrapper functions.<br>
  In that way, the changes will be localized to one function. But then again, it creates a large overhead.</p>
  
  <p>Do you have any ideas?</p>