Originally Posted by changes in bold
you have to write, document and test your own library with what you hope is the right level of abstraction you can make real nice programs as fast as say a .NET language (.NET langs are pretty good, but I wouldn't hold them up as a poster boy for speed) with the added problems that you think know how it works really well but it doesn't so when problems arise you have to write and test a solution. The first group have the luxury of looking for components created by others, and since they're using common components they can search the web for help.