Building with Libraries

Import Libraries

My bachelor’s degree focused on visual communication, a.k.a. graphic design, and I worked for various print and web design companies during the 2000s. That experience helped me become familiar with front-end coding like HTML, CSS, and JavaScript. I big part of learning these languages was viewing the page source of a website to see how it was built. This was before the days of Firebug or Chrome’s Inspect feature, which now show exactly what’s happening in the browser, including how data moves behind the scenes.

What I didn’t get exposure to back then was the programming that drives the server-side logic, databases, and the bigger computational applications. This is the area I’m most eager to grow in over the next few years. Artificial intelligence has opened that door for me. It’s made programming more accessible and provided an opportunity to create functional code on my own.

One concept I’ve come to appreciate recently is the idea of programming libraries. These are open, shared pieces of code that can help get a project off the ground without reinventing the wheel. Here is a breakdown of the questions I asked about libraries to satisfy my own curiosity.

What Are Libraries Used For in Programming?

In programming, a library is like a toolkit full of ready-made parts. Instead of building every component from scratch, you can borrow pieces that someone else has already built, tested, and shared.

Whenever we operate a computer, we are putting someone else’s work to use. Think of using icons, templates, or emojis. These are user-side examples of the concept. A library is a code version of some pre-made and available functionality. It might contain functions that do things like calculate statistics, draw charts, or clean up data. It would take hours or days to build this manually. By importing a library, you can plug those capabilities right into your own project and focus on the parts that make it unique.

When I was working with Python, I used libraries like pandas to organize and analyze data, or matplotlib to create simple graphs. These tools made complex work feel approachable and gave me a sense of how collaboration drives progress in programming.

Who Creates Libraries?

Libraries are created by people, just like any creative work. Some are built by individual developers who want to share a helpful tool. Others come from research groups, nonprofits, or major tech companies that release their work as open-source.

It’s a bit like the open education movement, with people contributing knowledge or materials to a shared creative commons. By posting their libraries on open platforms like GitHub, developers invite others to use, test, and improve them. This community-driven model keeps code evolving and ensures that even small ideas can grow into essential tools used around the world.

Where Are They Housed?

Think of a programming language’s library repository as a kind of public archive or marketplace for code.

For Python, that place is the Python Package Index (PyPI). It’s a searchable collection of thousands of libraries, each designed to solve specific problems. Other languages have similar systems: JavaScript has npm, R has CRAN, and so on. Each listing contains details about what the library does, how to install it, and links to its source code.

Are There Data Security Concerns?

Yes, just as downloading software from an unknown source can carry risks, so can installing programming libraries without reviewing them.

Because libraries are often maintained by volunteers or small teams, they can become outdated or vulnerable over time. In rare cases, a malicious actor might publish a library that contains harmful code. This is why programmers are encouraged to use trusted repositories, review documentation, and keep their libraries updated.

Where to Find Libraries and Learn More

If you want to explore what libraries exist, start with the official repositories:

GitHub is another place to see how developers use libraries in real projects. Reading through example code is a great way to learn. So far, everything I have created is an offshoot of an example project.

Closing Thoughts

Learning about programming libraries has changed how I think about technology. In design, I learned to combine typefaces, colors, and layout to communicate ideas. In programming, libraries serve a similar role; they give us shared building blocks to express new ideas through code. Thank you to those who have spent time creating and maintaining the libraries that help new programmers like me build something useful.