Eu sou por não usar bibliotecas a menos que seja absolutamente necessário. As dependências limitam a portabilidade e a vida útil. Eu tenho 34 anos em desenvolvimento de software e gostaria de ter pelo menos um dos meus programas durando mais de 3 anos sem ser destruído pela erosão (mudança).
COM (Component Object Model), a resposta há 17 anos, em teoria, grande, na prática questionável, componentes reutilizáveis não realmente, vou usar apenas os componentes muito básicos e somente se eu tiver que.
APIs e SDKs não são muito usados. Se eu dividir o número de linhas de código que eu realmente usei em uma biblioteca, o tempo que gasto para fazer com que elas funcionem versus escrevê-las, acho que é uma lavagem. Eu parei de usar os SDKs completamente, a sobrecarga é extrema.
Frameworks: Zend, Silverlight, WCF, .NET, os sistemas em camadas, sim, eles podem acelerar o desenvolvimento inicial, mas quando chego aos limites, o tempo que gasto corrigindo as rachaduras simplesmente não vale o esforço. Quantos anos têm e são imunes à erosão?
Eu fui para JavaScript e HTML com apenas minhas bibliotecas. Eu limpei o JavaScript usando apenas os tipos de instrução mais comuns. Espero que em 10 anos eu possa escrever algo que vai durar.