What are low-level APIs, and how do they differ from higher-level abstractions?
Well, maybe we are going a bit too fast. Before we can look at low-level and high-level APIs, we need to agree on what an API means.
API is an abbreviation for application programming interface. Although technically correct, it doesn’t tell us much. We need a better definition of API.
What are interfaces?
Let’s begin with the term interface. That alone can be defined entirely differently, depending on whom you ask.
An interface can be a software interface, which is the boundary between two pieces of software. For instance, a database such as SQL Server allows users to access data by accepting SQL queries. That is the main interface for that database system.
Another definition of an interface would be a hardware interface. The USB ports on your computer and the peripherals you connect to your machine using them are hardware interfaces.
Of course, in C#, we also have interfaces...