A programming library is a collection of resources that are available for use by programs.
They can include different types of things, such as the following:
I like to say that libraries provide a behavior encapsulation; you don't have to know how the behavior is made for using it but you just use it.
Libraries can be very specific, or can have a global purpose.
For instance, if you intend to design firmware that connects the Arduino to the Internet in order to grab some information from a mail server, and react by making an LED matrix blink in one way or another according to the content of ...