Tugging on the thread of digital bricolage brought me to a wonderful paper by Seymour Papert & Sherry Turkle called “Epistemological Pluralism.” (source)
Papert & Turkle tug on the anthropological origins of bricolage, extending it to the digital.
[Anthropologist Claude] Levi-Strauss used the idea of bricolage to contrast the analytic methodology of Western science with what he called a “science of the concrete” in primitive societies. The bricoleur scientist does not move abstractly and hierarchically from axiom to theorem to corollary. Bricoleurs construct theories by arranging and rearranging, by negotiating and renegotiating with a set of well-known materials.
If we take Levi-Strauss's description of the two scientific approaches as ideal types and divest them of his efforts to localize them culturally, we can see both in how people program computers. For some people, what is exciting about computers is working within a rule-driven system that can be mastered in a top-down, divide-and-conquer way. Their structured “planner's” approach, the approach being taught in the Harvard programming course, is validated by industry and the academy. It decrees that the “right way” to solve a programming problem is to dissect it into separate parts and design a set of modular solutions that will fit the parts into an intended whole. Some programmers work this way because their teachers or employers insist that they do. But for others, it is a preferred approach; to them, it seems natural to make a plan, divide the task, use modules and subprocedures.
On the other end? The digital bricoleur:
The bricoleur resembles the painter who stands back between brushstrokes, looks at the canvas, and only after this contemplation, decides what to do next. Bricoleurs use a mastery of associations and interactions. For planners, mistakes are missteps; bricoleurs use a navigation of midcourse corrections. For planners, a program is an instrument for premeditated control; bricoleurs have goals but set out to realize them in the spirit of a collaborative venture with the machine. For planners, getting a program to work is like “saying one’s piece”; for bricoleurs, it is more like a conversation than a monologue.
Programming as a conversation full of midcourse corrections, associations, and interactions. This strikes such a chord with me. I wonder if it has something to do with a musical background that inclines one towards the bricoleur approach. Papert & Turkle got me thinking as much when their paper delves into a student named Robin and her own approach to computers.
A classmate, Robin, is a pianist. Robin explains that she masters her music by perfecting the smallest “little bits of pieces” and then building up. She cannot progress until she understands the details of each small part. Robin is happiest when she uses this tried and true method with the computer, playing with small computational elements as though they were notes or musical phrases. [...] [S]he is frustrated with black-boxing or using prepackaged programs. She too was told her way was wrong: “I told my teaching fellow I wanted to take it all apart, and he laughed at me. He said it was a waste of time, that you should just black box, that you shouldn't confuse yourself with what was going on at that low level. “
Robin and I are one and the same in this regard. My experience has too dealt with taking music apart into smaller phrases and then stitching them together into a piece I perform. This way of thinking for music bleeds into coding — breaking a script into even smaller executable phrases and then stitching them together into something I use on my laptop.
While I didn't have people pestering me about my approach like Robin, I did that plenty myself. As someone who only started working with technology in their late 20's with 0 experience in programming and only a degree in classical guitar to their name, I worried that my background would be antithetical to learning about how to program and manipulate technology. It sure as hell wasn't a mathematical background or an analytical approach that a computer science degree would cultivate. How would I fare? How would I survive?
And you know what? It turns out that I could do just fine. Not in spite of my background but because of it. Papert & Turkle make this crucial point:
The computer can be a partner in a great diversity of relationships. The computer is an expressive medium that different people can make their own in their own way.
This bears repeating — the computer can be a partner in a great diversity of relationships, whether you come at the computer from a mathematical perspective or musical one, whether you approach programming as a digital bricoleur or a meticulous planner.
That can be the freeing flexibility of the computer.