<div dir="auto"><span style="font-family:sans-serif;font-size:12.8px">"and the [C] language has been cast in</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">stone since the 1980s."</span><div dir="auto"><font face="sans-serif"><span style="font-size:12.8px"><br></span></font></div><div dir="auto"><div dir="auto"><span style="font-family:sans-serif;font-size:12.8px">I do agree that it's good to have a well defined virtual architecture to build upon. C is often the keystone of one of those. C is, though, a very low level language. It isn't necessary to encumber oneself with the subtleties of C. Most of the modern musical composition languages, Max, SuperCollider, Pure Data, and so on, will take care of the translation.</span></div><div dir="auto"><span style="font-family:sans-serif;font-size:12.8px"><br></span></div><div dir="auto"><span style="font-family:sans-serif;font-size:12.8px">If you're saying we should use C for music software it's a bit like saying we should use binary code because the computer can only execute binary instruction code. All of C eventually compiles to binary so if we're making music why would we use C instead of binary code? In fact, what is important is the level of abstraction. C is (or rather, can be) better than machine code because it gives us a way to abstract the petty details of getting a particular machine architecture to perform the task. Higher level languages are (or rather can be) better than C because it gives us a way to abstract petty details pertaining to a higher domain of thought.</span></div></div></div>