SuperCollider produces no sound until the audio server is explicitly booted with s.boot
SuperCollider runs as two processes: the language client (sclang) and the audio server (scsynth). Calling { }.play, Ndef.play, or any pattern does nothing if the server has not been booted. s.boot must be called first and confirmed before any synthesis code is evaluated. This two-process architecture is the single most common stumbling block for new SC users and for anyone porting from environments with an auto-booting server such as Sonic Pi or Strudel. Forgetting s.boot is not detected as a language error; the code parses fine and appears to run, but no audio is produced.
Examples
Correct sequence: s.boot; s.waitForBoot({ { SinOsc.ar(440, 0, 0.1) }.play });
Assessment
Explain why evaluating a valid { SinOsc.ar }.play expression produces no sound, and what single call must precede it.