Saturday, March 23, 2013

Musicians and Programmers Pt. 3

Here we stand, at part 3 in this series about musicians and programmers.  You must have questions.  Is this the last part?  Am I seriously reading this?  Why the hell are these posts being posted at 2AM central time?  Well...I imagine you have such questions.  Much more likely I'm deluding myself into thinking what I'm writing is read much at all.  Whatever, don't care too much.

Let's get back to the topic.  In this post I'm going to recall most of my college career and the kinds of thoughts I gathered about both topics.  Let's begin with programming since it's what I spent most of my college career actively trying to learn.  As I said earlier, I think that anyone can code, oh and you should too.  My reasoning for that is that I honestly believe that coding is a way of viewing the world.  It requires one to break things down to small discrete steps, but let's be honest, we all do that everyday.  A computer program in that sense is no different from a personal schedule.  Each event on your planner or calendar or what have you, is a function that you do because, through your experience, you have learned what to do on those occasions.  So, why am I talking about this?  Well, I think what I just said is actually wrong.  It's a perception of coding that makes people think that it's about a micro-scale.  However, it's more similar to language, where after you learn the vocabulary and syntax, it's about the composing of said vocabulary and syntax into comprehensible and meaningful stuff.  Yea, I used the word 'stuff' in an otherwise didactic post, get over it.  Anyways, barring the aside, my point is that coding is both about the micro scale which is often the bane of new programmers and the macro scale which is the need to see the big picture in regards to the programs we write.

Now, why am I saying seemingly random things?  Well I haven't gotten to writing about music yet so let's all just chill out a bit.  In addition to being a cellist, another fact is that I am also a composer of music and, well I suppose I would be a composer of English text, colloquially called a writer.  I've written maybe 25-30 pieces of music throughout college, most of which utterly suck.  However, I've learned a lot in doing so.  Enough that I think I can make some comparisons about music writing and coding.  (I'll probably talk about comparisons on music performing and coding later.)

How does one begin to write a program?  Well, with an idea about what the program is supposed to do.  And how does one begin to write a novel or a piece of music?  With an idea, of course.  Good we're on the right track, things look pretty similar.  Note that I'm putting in writing prose as it's something I think most everyone is familiar with.  Now, what's next?  Well when writing prose or essays, I think most of us were taught that writing an outline is usually a good idea.  Similarly, with coding, it's often a good idea, though not necessary, to chart out and see what exactly is needed as well as just how things will fit.  Some people in regards with coding, map out class designs and interface flow designs among other things.  With composing music you think about things like chord progressions, thematic transitions, overall directionality of the piece.  Honestly they still sound the same, different jargon but honestly, all the same.

In building a cohesive piece of code, there are a couple of things that most people do.  Generally we take things we expect to occur multiple times and form structures called functions.  Similarly in music, we have such things like themes or motifs which are used to indicate certain emotions or ideas.  While not a perfect analogy, in writing English we have tools like allusions whereby we reference an idea that is already known to either strengthen or create a point.

I think I'll end at this point.  I hope you were looking for a longer post and if so that this satisfied you.  I'll definitely have at least one more post in this series but we'll see when that happens.  So until next time, I hope you enjoy the site and are looking forward to more posts in the future.

--CsMiREK

No comments:

Post a Comment