Guide to linux sound APIs

it is very difficult for programmers to figure out which audio API to use for which purpose and which API not to use when doing audio programming on Linux. So here's a try to guide you through this jungle