I'd define an SDK as a library of abstractions for working with a system.
A good example is Android development. Anyone writing apps for Android will use the Android SDK. This SDK abstracts away the low-level system calls needed to make the phone hardware do what the developer wants it to do. Rather than writing a bunch of Assembly, the developer can just, for example, call something like `sendNotification()` and call it a day.
Login to reply