Main reasons for using tool(s) like Swarm:
Bottom line:

Separation of interface from implementation is accomplished by packaging Swarm code into a library.
library: a technical term for the packaging to provide users. a set of features in a given language environment and platform. It consists of:
Currently, the Swarm library is available in: Java, Objective C, and Scheme. (More languages are pending.)