In computer science, a library is a collection of non-volatile resources that a program can use often to develop software. Libraries are particularly useful for storing frequently used routines because you do not need to explicitly link them to every program that uses them. The linker automatically looks in libraries for routines that it does not find elsewhere. Resources which may be found in libraries include data, documentation, message templates, pre-written code, classes, or values.