I can answer all your quries regarding, pros and cons of library vs program. Also need to know what domain you are operating on so I understand what kind of features you are talking about.
I am a software generalist, and I have experience with all kinds of softwares, C, C++, networking, database, server side, embedded, routers, switches, applications, web development, python, ruby etc etc.