1.CSOM: Client-side object model. C# (or Visual Basic) only, use NuGet, at the moment same package for both 2010 and 2013.
2.JSOM: JavaScript object model. JavaScript only.
SP.ClientContext.get_current() for normal use. new SP.ClientContext('url...') for specific SPSite. Note this works cross-SPSite in 2013.
3.SSOM: Server-side object model. C# (or Visual Basic) only, use Microsoft.SharePoint (15) DLL. Must be deployed on same farm.
4.REST: REST web technologies and standard Open Data Protocol (OData) syntax.
Either JS (JavaScript) or C# (or Visual Basic)