Comment Re:3 things I've learned. (Score 1) 590
Why not get the best of both worlds?
I will generally create an API which matches my needs as simply and concisely as possible, then implement that API using a 3rd party library.
This means that my main application code is not dependent on the 3rd party library, only on the API which I designed myself. I can then easily adjust the API as I see fit, or even re-implement it using a different library if a better option becomes apparent. The application code is protected from this, as there is no direct dependency on the libraries.