Libraries and frameworks

I often get asked for recommendations about libraries and frameworks, and I also find myself often in the middle of discussions between the opponents and the supporters of libraries and frameworks.

To be honest, those discussions/wars are pretty much stupid because nobody takes the time to understand properly what's going on, and from my point of view I just see ignorance in both sides.

There's not an absolute truth in what regards to libraries and frameworks, and I doubt there will ever be such thing. You can't proclaim yourself a "I do it all myself" man or woman because that's just plain ridiculous. Are you also programming your database server, and your web server, etc? And the people which absolutely encourage the use of ready-to-use libraries also look ridiculous to me. How are you going to deal with the situation when you need to extend feature A or change feature B, if you don't know how the library works?

At the end all gets reduced to just one advice: investigate. Get informed. Compare what options you have before making a decision. Dig into the code and find out how it is built. Is it easy to understand? Is it well documented? If you wanted to change something could you do it without having to spend a whole week on it?

I generally tend to prefer very decoupled libraries which can be easily replaced with another library or with my own code whenever I need, so in a way I use libraries as a prototype. If the library is not that decoupled, I always try to build a wrapper so if I replace the library I just have to rewrite parts of the wrapper, but my main code is left untouched.

So do whatever you want. Use a library, or do not use a library, but do not hassle people which choose a different path.