Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

SC is typical OOP language. From this perspective, the raw Web Audio API or Tone.js are more relevant for SC.

This Elementary Audio prefers FP, which makes it quite different and I think it has the potential to be very friendly for beginners. But the docs need a lot of more works there.



Can you provide an example of where SC syntax and Elementary/JS syntax for the same thing differ in a significant way?


```Elementary JS

core.render(el.cycle(440));

```

```SuperCollider

{ SinOsc.ar(440) }.play

```


If that seems "quite different" to you, then good luck!

Personally speaking, SC's approach seems more amenable to composition (in the programming, not the musical sense). Collapsing everything down to core.render() puts the emphasis in the wrong place IMO. The oscillator is better considered to be an independent entity, and the "render" step really ought to be implicit. But to each, their own!


It really depends on your angle.

for example, "1 + 1" in FP is different from "1 + 1" in OOP.

In FP, everything is func. 1 is func; + is a combinator.

In OOP, 1 is an obj, + is the method of that obj that takes another obj.

It looks like you really enjoy SC's syntax. It's great. But essentially, the language is just one part of SuperCollider.

SuperCollider = sclang + scsynth

sclang -> OSC msg -> scsynth

The scsynth is actually the soul of SuperCollider to many computer musicians and that is what drives many to develop different language front-ends for scsynth.

Language is just a wrapper, with different programming paradigms. But down to the lower abstraction, it's the audio graph. I have no connection with Elementary js at all but I think it does a good job for providing a new angle for Web audio. Yet I understand your concern of using it for developing vst plugins.


> In FP, everything is func. 1 is func; + is a combinator.

In Clojure we use RP notation, so + can be a n-ary function: (+ 1 1 1 1)




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: