SuperCollider exists as two separate networked programs: sclang and scsynth
SuperCollider is a client-server system. The language (sclang) hosts the object-oriented interpreter and class library; the audio server (scsynth) handles real-time synthesis. They communicate via the Open Sound Control (OSC) protocol over UDP or TCP. The user operates in sclang as a client, sending requests to scsynth. Because the two programs are networked, scsynth can run on a remote machine, and multiple language clients can connect to one server. This architecture matters because actions like booting, configuring hardware, and creating Synths all go through this separation: code you type is language-side; the sounds that come out are server-side.
Examples
Boot the server: s.boot; or Server.local.boot;. Quit: s.quit;. The global variable s is by convention reserved for the local server.
Assessment
Explain why x = {SinOsc.ar}.play; x.free; works but storing the function in x and then calling .free on it does not free the audio. What two entities exist and which one needs to be freed?