I work at a company where we have wrappers for pretty common things: pthread library and time.h functions. Management claims that this was done so that if we ever need to switch to another thread lib or use a different set of time related functions, it can be done easily.
I understand that doing this for third party libraries can be beneficial, but it seems to me that doing this with such widespread features is pure paranoia, and detrimental to productivity. Is this a valid approach? Are there any examples of this being done somewhere else?