Find an interesting software library which has a well-documented API

>find an interesting software library which has a well-documented API
I can find plenty of APIs listed but how do I find the specific libraries they use?

Why do they call OpenAL and OpenGL libraries if they're actually APIs?

What the fuck even is a library and what the fuck is an API?

If OpenGL is an API then what library does it allow interfacing with????

Other urls found in this thread:

wiki.libsdl.org/CategoryAPI
docs.python.org/3/library/index.html
curl.haxx.se/libcurl/c/
twitter.com/NSFWRedditVideo

Why are you 'tisming. Just use whatever you want for the job that needs doing.

I have to write about a software library and its main APIs but I don't know what's a well-documented library with well-documented APIs

Is OpenGL an API or a library?

its a library that has an api, dumb frogposter

use wikipedia

>use wikipedia
>Open Graphics Library (OpenGL)[3][4] is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics.

Wow! You're wrong!

>open graphics library
>library
dumbass frogposter

No. It's an API

If it's a library then why can't you list the APIs it features?

time to bump your bait thread with unrelated anime pictures

this one is related actually

STOP BULLYING ME

The question is
>Find an interesting software library which has a well-documented API. What is the purpose of the library and on which operating system does it run?
And
>Describe the main APIs of your library
So, in the case of OpenGL... It's a library and an API and the library is called OpenGL and the API is called OpenGL?

What about the python standard library? What are the APIs there?

What about the Facebook Graph API? What library does it belong to?

...

Any library that you can integrate in other projects has an API.
The API is just a way to interact with the library so that you can use certain features of the library in your program.

But what does it mean to "describe the main APIs of a library"?

Give an example

API: documented way to call code and get a return value (optional)
Library: some code grouped together under a common theme, locally installed on your device

So things like Qt are a library, that also have a documented API. There are web services that provide an API you can call, but it's not running on your machine so it's not a library.

Example API:
foo(): call this to print "hello world"

OpenGL is a very special case. OpenGL is a a standard. The way OpenGL is standardizing is by specifying is by specifying the API - a set of C functions, types and header files that you can use in your program. OS and GPU vendors implement OpenGL - by creating a library that provides the API described in the standard. Nvidia has its own OpenGL library, AMD has another one, but they both provide the same API. Drop OpenGL. It's a special case, and most, 99.9999% of libraries are not standardized.

Here is API for the SDL library: wiki.libsdl.org/CategoryAPI
To describe the API of the library you list and describe functions, types and other things provided by your library that the programmer can use.

>What about the Facebook Graph API? What library does it belong to?
It does not belong to any publicly available library if it's a web API, which I'm sure it is, since it's facebook. You access that API using the HTTP standard.

>What about the python standard library? What are the APIs there?
docs.python.org/3/library/index.html

>Describe the main APIs of your library
This statement is not meaningful as you imagine it to be. I understand that it's a part of homework, but it's a badly worded task. Find a small library that has few functions available, and rephrase the documentation for those functions.

So, in a programming language you have a standard library that offers a range of items that you can make use of.

Say you use the print function in a program you write. Is that print function an API?

OR

Is the API a more abstract concept specifying proper protocol of just how you call functions and present arguments to them? But then what is the scope of the API? Would you say that every interaction with the standard library is through a single API?

Or something else...

API is not a thing that is strictly defined. A lot of projects provide what can be easily classified as an API, but never mention the abbreviation in docs.

API is a list of things the programmer can use in something (sometimes API describes the way to access a remote server instead of a local library) with instructions how to do that and explanation what precisely those things do.

>Is the API a more abstract concept specifying proper protocol of just how you call functions and present arguments to them
That description is more fitting for ABI - literally specifies how to place arguments into memory/registers when sending them to function.

>Is that print function an API?
printf is part of stdio.h, and stdio.h is part of the API.

>This statement is not meaningful as you imagine it to be. I understand that it's a part of homework, but it's a badly worded task
THANKS. This is what has been driving me insane.

So, it is correct to say that functions (print), types (int, float), classes, etc.. offered by the standard library make up the API as, at the level of use by the developer, their implementation details are abstracted away?

dumb frogposter

I feel like everyone just pretends to know what an API is and that's why precise definitions are so difficult

Shit, he's using the highest tier of debate
.. smug anime pictures

int and float types are a part of language, so they are not a part of an API. A library that creates type CURL as a pointer to void, does provide that type as a part of its API.

I wouldn't use a language's standard library to talk about APIs, since standard libraries are 1. huge 2. never called APIs by their developers.

Try libcurl maybe.
curl.haxx.se/libcurl/c/

You'd need to provide short description for four functions: curl_easy_init, curl_easy_cleanup, curl_easy_setopt, curl_easy_perform

Actually, now that I think of it, applying this statement to CURL, it can be clearly said that CURL library provides two main APIs, Easy, for synchronous web requests, and Multi, for asynchronous web requests.

You're the best

Here's a picture of a cute girl for your troubles

100% slavic

So is an api literally just whenever the programmer for something creates parts of code for other programmers to use/hook into it?

Yes. I is the meaningful part in API, interface. Wiki page for API pretty much says the same:
> it is a set of clearly defined methods of communication between various software components.