In this section we will examine the overall structure of our application and take decisions that impose a very particular kind of architecture on all the files and models we will be using. Prior to doing this, however, we need to discuss the details and the ramifications of our methodology.
No programming language is an island, and SuperCollider is no exception. The chances are that, from a computer science perspective, the type of problems we are likely to encounter have already been encountered, studied, analyzed, and solved by others. More importantly, relevant algorithms, design patterns, and whole programming paradigms do exist and we can exploit them to accelerate our creativity. It must also be said that familiarizing oneself with such techniques has a significant psychological advantage too, as it fosters a more abstract way of thinking, wherein everything is solvable once we identify the kind of structural elements we will most likely use. Therefore, it is of...