Music 256A, Week 4
Chapter 4 of Artful Design focuses on the design and use of programming languages for creative purposes. Every programming language packs with it its own unique aesthetics. Even if two languages can tell the computer to do exactly the same things (as many can), the syntax and verbosity of a language make the coder design differently. The ease of synthesizing audio, timing events, connecting external devices, sporking shreds, and more, in ChucK lends the language well to the creation of compositions, audio installation software, interactive applications and musical interfaces. However, if we choose to design a similar application in, say, C++, we'd have to do a lot of work to get to the point where the application could even generate audio, let alone control the timing of audio events or receive controller input from a user. Necessarily, our aesthetic decisions are limited or expanded, propelled or reshaped, by the tools we use to make them. This insight also applies to designing new tools. We design programming languages (like ChucK) to ease or positively influence the design of certain types of software (like musical applications). Now that we have this new tool, we can build up more programming tools; for example, we can embed ChucK in other languages or frameworks, as in Chunity, Chuck Racks, and more. The proliferation of tools leads to a proliferation of products and design practices.
The proliferation of design tools would mean nothing if it weren't for the design of new things: why design new tools if we do not need to design new things? This rhetorical question corroborates the author's assertion that we should code "to express something."That is, we should not code for the sake of coding. We code to create and express what before was not expressible. Sure, we can reinvent the wheel, port a million instrument physical models in to C++, and design filters that make Instagram photos look like they were taking in 1920. But we can also go deeper, and design things that take advantage of the unique features, affordances, and quirks that our programming tools provide. A programming language (itself a type of media) invites us learn how to use it, to understand its limits, and to imagine the new technological and artistic possibilties that it enables.
A point to consider is that not every new design possibilty "unlocked" by a new tool (like a programming language) is artful or interesting. As the author states, "just because something is programmable doesn't make it interesting." I find paralells to this sentiment in the art world at large. Composers, for example, explore new sonic possibilities in their work and attempt to sculpt their source in to something inherently interesting. Often, we fail, and the music we create does not express anything beyond its own existence. We show that it is possible to construct a piece of music using our media of choice, but we may have failed to express anything more. This is like using a programming language to solve a problem that has already been solved very well. For example, if we tried to implement a compiler with ChucK... sure, we may be able to do it, but why would this be interesting other than to show that it is possible? Does it solve a vital issue, say something new, or change the way we think about our lives, what we choose to do, or create? I would say no, and I believe this answer is in line with this important sentiment expressed in Chapter 4 of Artful Design: that our aesthetics evolve with our medium and that new tools give way to new aesthetic possibilities.
The proliferation of design tools would mean nothing if it weren't for the design of new things: why design new tools if we do not need to design new things? This rhetorical question corroborates the author's assertion that we should code "to express something."That is, we should not code for the sake of coding. We code to create and express what before was not expressible. Sure, we can reinvent the wheel, port a million instrument physical models in to C++, and design filters that make Instagram photos look like they were taking in 1920. But we can also go deeper, and design things that take advantage of the unique features, affordances, and quirks that our programming tools provide. A programming language (itself a type of media) invites us learn how to use it, to understand its limits, and to imagine the new technological and artistic possibilties that it enables.
A point to consider is that not every new design possibilty "unlocked" by a new tool (like a programming language) is artful or interesting. As the author states, "just because something is programmable doesn't make it interesting." I find paralells to this sentiment in the art world at large. Composers, for example, explore new sonic possibilities in their work and attempt to sculpt their source in to something inherently interesting. Often, we fail, and the music we create does not express anything beyond its own existence. We show that it is possible to construct a piece of music using our media of choice, but we may have failed to express anything more. This is like using a programming language to solve a problem that has already been solved very well. For example, if we tried to implement a compiler with ChucK... sure, we may be able to do it, but why would this be interesting other than to show that it is possible? Does it solve a vital issue, say something new, or change the way we think about our lives, what we choose to do, or create? I would say no, and I believe this answer is in line with this important sentiment expressed in Chapter 4 of Artful Design: that our aesthetics evolve with our medium and that new tools give way to new aesthetic possibilities.