Couchbase provides developers with native SDKs for popular programming languages including Java, .Net, Node.js, PHP, Python, Ruby, C/C++, Go, and more. These SDKs expose read, write, and other commands as functions in their programming language of choice - whatever they use to write their applications.
The APIs are idiomatic, that is, they are done in the style that developers expect for each language.
An important benefit of the SDKs is topology awareness, meaning that each client knows the cluster map and gets updates if the cluster map changes. This enables the clients to transparently track topology changes and handle conditions such as rebalance and failover and you as a developer can focus only on the application logic. Thus, when an application needs to read or update a document, the client can hash the document id and then use that hash to determine exactly which server is the master for that document without consulting an external routing authority.