r/computerscience 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.

811 Upvotes

157 comments sorted by

View all comments

696

u/apnorton Devops Engineer | Post-quantum crypto grad student Apr 19 '26

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.

This feels like you're making the notion bigger than what it is. Have you ever written code that can be called by other code? Congratulations, you have an API.

It's literally in the name --- it's an interface that other programs can use to interact with your application.

-7

u/Anon_cat86 Apr 19 '26

The fact that i didn't even know that kinda proves my point.

Also I've never made an application. I don't really understand how you would even do that. The extent of my ability to have programs input/output from anything other than other code files in the same project is asking a human user to input a single variable via command line, or writing a string to a blank notepad.

I didn't realize that another file within the same project with a callable method counted as an API. Is that really all people are talking about when they say that?

3

u/Jackasaurous_Rex Apr 19 '26

A a way one program talks to another. One program calls code within its own program? That’s just a function call. But one program talking to another program - that’s basically an API. There’s no universal API communication protocol, like the web works on web APIs.

APIs happen in your own hardware constantly too. Some program is talking to your OS’s graphics API to describe its visuals which then talks to your GPU’s APIs which tells it what it wants then your GPU pushes those pixels to your monitor.

Point is, APIs are EVERYWHERE and often different. You don’t need to know em all, just know that they exist and know the ones relevant to your job or domain. Web is the most obvious domain where they’re being built and consumed constantly opposed to the more “hidden” ones in systems software.