It just occurred to me how many of my post titles have “everything” in them. A post for everything!
Let’s lay out the layman’s words here. In the world of software we can do some pretty amazing things. To get to that cool end result though, you’ll need to program a lot of processes, like getting a city name from geographical coordinates or searching a text file for a line that says “poopy butts”. (Hey, I don’t know, there’s probably a legitimate use case for that!) And while it can be fun and super insightful to write that functionality yourself, you’re essentially re-inventing the wheel. There’s been tons of people before you that have programmed the same (or at least similar enough) thing. Not to mention, some functionality can be super hard to get “just right”, especially if you want it to work well on different computer.
Luckily, some of the people who made a useful thing have decide to be totes rad peeps and make their arcane wizardry available to every which script-kiddie can get his greedy mitts on it. They made their implementation of that functionality generic and turned it into a thing we call a library. When we say “let’s use that library”, we’re essentially saying, “these folks have it all figured out already, let’s use what they made”. A library’s a generic implementation of a specific feature, data set, whatever. It’s been made generic so that it can be applied in all kinds of scenarios. The library shouldn’t care if you’re looking for “poopy butts” or “sexy secrets”.
And guess what? There’s a lot of libraries out there! From the really obscure to the widely used. Heck, your music files are probably being turned into audible audio by a library! (Most all audio codecs provide libraries for this, to make them easier to adopt.) These things are everywhere and a huge chunk of them are free to use! I’m currently looking at one that can help me connect to a device via USB and communicate with it. Though I know a little more than I used to about these things, I still wouldn’t trust myself to build it from the ground up, and I don’t have the time available either, so it’s a good thing someone’s done the heavy lifting for me already.
Support your local library?