Me: Can you help me with the S3 SDK? Trying to upload a file to S3.
Friend That Works For AWS: Did you read the tutorial?
Me: No. Not sure where to start. Can you walk me through creating a new bucket?
Me: And what is that?
AWS: It’s an API. Called “create new bucket”
Me: How is that an API?
AWS: Now you’re messing with me 🙂
Me: That doesn’t make sense in that context.
AWS: API is the thing you call. The SDK has the API calls in it.
Me: Sounds like a fancy word for a library full of functions.
AWS: Application Programming Interface.
Me: That makes no sense. You can’t “call” an “interface”
AWS: Yes, a set of methods is an API.
Me: Then it’s not really an interface, it’s a library.
AWS: KARI STFU. THE NOMENCLATURE DOESNT MATTER
Me: YES IT DOES. YOU CAN’T JUST GIVE SOMETHING A NAME THAT DOESNT MAKE ANY SENSE.
AWS: In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types.
Me: By that definition, Rails is an API.
AWS: Yes. It is actually.
Me: I hate you.
AWS: Get used to it. It’s everywhere.
Me: I’m going to make a new database and call it an application where all the fields are called methods. And you’ll query it with my_SDK and it’ll live on a server that’s called an API.
Me: I’m in so over my head…