Bibliotecas
No preparo de uma receita, é comum precisarmos de utensílios mais complexos, como batedeiras, liquidificadores, multiprocessadores e mixers, os quais têm como papel agilizar alguma tarefa manual. Estes utensílios são armazenados nos armários e são tirados de lá e colocados na bancada quando necessários. Entretanto, como nossa bancada (memória) é limitada, não há espaço para se colocar tanto equipamento junto. Isso pode forçar o cozinheiro, ou seu auxiliar, a retirar este utensílio da bancada quando não for mais necessário ou não estiver sendo utilizado num dado momento. Na programação, este comportamento se assemelha ao uso de bibliotecas, as quais são ferramentas que simplificam a criação de um programa por permitirem a abstração de operações complexas, como uma biblioteca para execução de funções trigonométricas. Na cozinha, quando temos que misturar bem alguns produtos, podemos utilizar um liquidificador e podemos abstrair sobre a forma como este foi construído. Para utilizá-lo, basta sabermos como este é operado. Estas bibliotecas podem ser utilizadas ou não, o que depende do problema abordado e da forma de resolvê-lo.