I fully agree that symbol.kr is better in several cases, and that for some users, it may even be generally better.
For the sake of public record, I’d like to redact some of the comments that had been in this space. I stand by my assertion that the article has an agenda beyond technical analysis, but the way I discussed that earlier wasn’t helpful. I apologize (again) for that.
As for the use cases: I do actually use NamedControl when it’s clearer (especially for arrayed controls). I have not adopted symbol.kr, and I won’t, because I’ve come over the years to feel that readability is more important than less typing (and I’ve had an RSI for 3 decades, if anyone should be looking to cut down on keystrokes, it’s me – but after years of trying to write as syntactically tight code as possible, I ended up preferring to slow down, write things out step by step, use keywords such as NamedControl – yep, spelling it out! – where appropriate to highlight what is really happening). Rate prefixes, I find aesthetically neutral; the prospect of abusing them accidentally is a valid point (yet somehow has never happened to me in a couple decades).
I had considered at one point writing a preprocessor to unify SynthDef input description, but ran out of time and didn’t get very far… so I do recognize that SynthDef function arguments are not an end-all be-all solution. But I like them for standard kr, non-arrayed controls, which (at least in my typical usage) counts for a large majority of synth inputs. As such I see no need to change it just because another style supports features that I’m not using.
hjh