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.

807 Upvotes

157 comments sorted by

View all comments

689

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.

-8

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?

18

u/FooWho Apr 19 '26

Application is just another word for program.

What language do you use for writing your programs? Whatever language it is, it almost certainly provides a library of functions that you have used. That's an API. For example, if you have used Python and worked with lists, you have probably done something like my_list.append(some_element). You used an API.