I remember reading an article back on the 90s about the software reuse crisis and how every project tended to reinvent basic components. Classic comp sci curriculum makes a lot more sense when you consider that it used to be the norm that you'd have to choose between arrays/linked lists/trees etc and then code them by hand.