Very interesting recent comments here. A few thoughts:
While there are usually strong arguments for and against any given language design choice, and it is true that SC has become more of a hybrid/compromise as time has gone on, I am not sure that some particular set of ‘good design’ is really what makes a language successful. C++ is a horrible language in many people’s opinions (okay perhaps a little less horrible than it used to be, but still…) but remains immensely popular and widely used, even with numerous better designed alternatives available.
I think SC’s strengths are a mix of things, but realtime safety, powerful built-in domain-specific functionality and extensions, and a well established and overall (flame shield on) supportive community. As PA says it works for artists, and that’s the target community or at least the core of it. Many SC users couldn’t care less about hard or soft typing. But Patterns…! It also managed to provide convincing workarounds to some of the traps/pitfalls/shortcomings of the incumbents (Max family/Csound) at an opportune moment in the history of such environments. There was thus a real payoff in learning it. All that snowballed…
Of course if you were designing a new SC from scratch today, you’d do it differently. The available design models, target hardware, possible use cases etc are all different. But that alone won’t make it successful. So I think any future developments should strongly target maintaining those existing strengths, and any big disruptive changes need a big payoff for that core constituency. Otherwise I think they’re unlikely to gain traction, as we’ve seen with many very well intentioned and enthusiastic attempts over the years.