I’ve started programming in my sophomore year of high school, with interests and dabbles starting since middle school. I attended an introduction to drawing class for a day just to see what it would be like. It was on the third floor of my university’s art building, and finding the room felt like traversing a maze. When I finally arrived a few minutes late, the sudden opening of the door caused that awkward stare between the professor and already seated students, and me. I took my seat.
Shortly thereafter, we started introductions. The general layout of everyone’s response was “Hello, my name X, and my major is Y. I decided to major in Y because Z, and hope that this class may be able to assist me in that goal.” Following after the professor would respond sounding genuinely interested in the student’s major, or just gave a commented based off what he’d heard.
So when it became my turn, I saw no reason to break this unspoken rubric for an introduction, so I conformed: “Hello, my name is Josh, I’m a major in computer science and I took that major because it’s been my interest and hobby for a while now. I am not entirely sure how this class will help me other than fulfilling a credit requirement.” Spoken honestly, because from the syllabus and my current schedule, it’s likely that this class would take up too much of my time forcing me to drop it anyway.
Then the professor said something that made me realize something that I hadn’t thought of before, and perhaps if I have seen the perspective earlier, I might have changed my response.
“I see, I agree your major is quite the opposite of what will be covered in this class” and some words after. It made me daydream a bit, thinking about what the exact differences were between the art major and the computer science major, aside from the obvious differences like credit requirements, the type of degree earned, and the fact that one produces images/animation while the other spends time on the keyboard. To that, I really couldn’t come up with anything much.
After about 4 years of programming and an additional 2 or 3 years if dabbling in Visual Basic/batch scripts counts, I’ve learned a lot through self-teaching. Programmers follow specific styles when they program: spaces or tabs, brackets in the same line or on the new line, camelCase or PascalCase? Whichever the programmer chooses, it is followed throughout the entire project. Otherwise, it’s just unreadable or ugly. Similarly when it comes to art, there are just as intricate means of rules to follow. What perspective to use, what palette, how to use their brush to emphasis value, etc.
It’s also not like you can’t visualize the results of algorithms or large sets of data. <img class=”ui tiny right spaced image” src=”http://i.imgur.com/kWnh4wS.jpg” >
Credit: Reddit user agomezvasq
Programming has always been, to me, an escape from classes like math and science, even if programming itself is considered to be part of computer science. It’s to me, a lot more expressive, like art. You can use it to make whatever you want, to visualize and create what you want, and so perhaps that’s why I am so intent on thinking it as an art. If I think of it as something else, it would be harder for me to think of this as a hobby, harder to have fun creating, even if it’s just a homework assignment.
So why share this? The mindset that which something is approached or held affects how well the overall performance is. So I say as that’s how it’s been for me. If I walk up to present some topic for a class all nervous, I will more than likely shake up- feel the need to stick to a script, say the word that I want to say, and be afraid to move on without being sure that I had covered everything. Questioning myself during and after, did I say too much? Too little? Too fast, slow, quiet? Hence how I adopted my high school habit of what I like to call swinging. No time to think, just do. By “just do”ing I was able to open myself up to be more creative, more intent and sincere, and willing to go for it. Probably optimistically stupid and luck-dependent, but this similar “shotgun sort” like algorithm has a relation to programming, especially those who are computer science majors.
So hopefully, just like those who see drawing or whatever as a ‘spare time hobby’ activity may also see that programming is hardly any different, and to hopefully encourage people to spend more time programming as a hobby instead of just work.