Reading Response 4

PRINCIPLE 4.1
Programming is a creative endeavor

I think that this is a very valuable insight to have. This chapter was really dedicated to exploring how programming can be a tool for expression, but I think, just like in the bit about live coding, there is an inherent aesthetic to programming as well. Both of these facets combined I think make up why I like programming so much. I do think it is a common conception that programmers are strictly mathematical and rigorous and an extension of the computer themselves. More importantly, this train of thought is also somehow justified to be contradictory with creativity. Having done computer science for a few years, I can say in my experience, this creativity is definitely not lacking. A really cool thing I think about programming is seeing how many solutions there are to a task. A more layperson example would probably be something like the sorting algorithm sonifications that exist in a large quantity on YouTube, but it's quite fascinating that there are such varied methods that all accomplish the same task. In the same vein, the book has a quote that says "I think this may be why we have so many programming languages! It's not so much that they all do different things, but that each one makes you think differently..." While I often remind myself of the XKCD standards comic when thinking about the sheer number of different programming languages, I think this diversity of programming languages does allow for more creativity. For example, I often make cognitive switches between writing ChucK (a strongly-timed programming language) and JS (an event-driven, asynchronous programming language), and this range of programming languages really allows me to appreciate the different aspects that each emphasize, yet both are still able to do the same things. I remember after Slork had ended, for the next few days, I was cognitively stuck when it came to working in JavaScript again. Nothing about the async nature of JS made any sense anymore, and it was after forcing myself to push onwards that I had regained the ability to think in a JS paradigm. I distinctly remember this because of the absurdity that I had felt meta-cognizing about this situation; it was like I vaguely knew how to tie my shoes, yet I couldn't really do it physically. After context switching so many times now, it has felt a lot more fluid for me to transition working between these two completely disparate languages. Thus, when reading this passage in the book, it really resonated with me. The intense period of working with ChucK had temporarily made me lose the ability to think in other types of languages.

I think this may be why we have so many programming languages! It's not so much that they all do different things, but that each one makes you think differently...


Chapter 4, Artful Design
XKCD: Standards