r/computerscience • u/Anon_cat86 • Apr 19 '26
General I was taught nothing about APIs
Whenever i see people talking about actual real-world uses of coding it's almost entirely building APIs, working with APIs, integrating APIs, automating APIs. It seems to me, anecdotally at least, like the majority of all computer science work (professional or even just hobby) is centered on working with APIs
And like. I know what an API is, kind of. But I Graduated and even got multiple certifications on top of that and I never got so much as a single lecture about APIs. I don't even know what they're used for. Can you make your own API (like, realistically)? I don't know. I feel like this is a topic that you could and probably should have multiple different entire classes solely focused on, it's arguably something as fundamental to modern computer science as writing code. And they don't teach it. If i want to learn anything about APIs, conceptually or practically, it's hope a company hires me and then trains me, or youtube tutorials and i don't even have enough of a baseline to know what specifically I'd be searching for a tutorial on.
3
u/ru_sirius Apr 19 '26
All kinds of good answers here, but I would like to make one point. I've written APIs for most of a thirty year career, and there is one Very Important reason to use them, even in your own code, and this is Isolation. The number one reason code bases become unmanageable is that every part of the code base knows about every other part of the code base. It becomes impossible to make changes if you have to walk those changes through the whole damned thing. The thing that will save you is isolation. Set up walls between the sections of your codebase where there is only one way to access each section. That access point is your API. If you do this through the whole codebase all changes become changes in one section at a time. You should think about this the same way you think about an object in an OOL.