Friday, January 13, 2012

Finding Out I was Trying to Re-Invent the Wheel with My Research

Last night I bought a book for my bachelors project. Nothing too exciting in that statement. In many ways, though, this new book acts as a continuation on a book I bought and read more than ten years ago.

The authors of the new book don't say as much. They say that they're exploring territory that the first book and other books in the field didn't look at. The general field I'm trying to use, the sociology of knowledge, has something to do with my project.

The main thrust of the first book doesn't go in the direction that I need or my project, though. I think the direction of the second book will go where I need to go. Just from the preface, I feel like I'm going to learn the language and vocabulary that I need to talk about my project.

Researching without an instructor or having proficiency in research techniques causes this type of problem. Without either of these types of guidance, learning or coming up with a theory almost turns into re-inventing the wheel. Adult working has taught me that this approach wastes valuable time.

A Java programming book I read introduced the concept to me, but I was too naive at the time to understand. Apparently programmers like to share templates for menial subroutines. Much faster to copy and paste a simple template then move onto doing something more creative and higher level. It's out there. Why waste time re-inventing the wheel?

I have yet to start reading the main body of this new book. I just read the Introduction and Preface. It has gotten me excited so far. My situation frustrates me a little, not having been introduced ten years to this book written in the 1966. It is what it is, though. Life always has lessons for us.

Who's really to say that I have a lesson to learn here, though? I found the book while brainstorming how to articulate some thoughts in my mind by using Wikipedia. Maybe I hadn't found this book more than ten years ago because the technology, Wikipedia, wasn't there for me to explore my thoughts.

I couldn't even intelligently talk about my thoughts or the particular books given to me to read more than ten years ago. Maybe I didn't have the technology available to explore my thoughts in relation to the world of ideas without having to explain and justify myself.

Who knows? I didn't even really know what I was doing with this project more than ten years ago. I just wanted to write a dystopian novel to graduate college. I had primordial ideas. I originally wanted to write a thriller based on angst and boredom than some kind of heady meditation on social justice.

I appreciated what I have learned, though. The process has taught me how to learn. I've had some interesting experiences going through library and historical society archives. I've seen how the growth of the Internet helps researchers engage in more efficient research from their own den or kitchen table rather than having to travel everywhere. I've also learned how to prospect for sources through book references, journal article references and, heck, on Wikipedia!

All in all, I've come out well enough in the deal. And, who knows? Maybe if I hadn't been taking this long to make this progress on my project, maybe I wouldn't have kept up with online research processes as well as I have.

LINKS OF INTEREST: sociology of knowledge, Wikipedia


Anonymous said...

Actually, we programmers try to avoid copy-and-paste. Instead, it's more like hyperlinks in HTML, where you can say "use that bit of code over there" without having to repeat it.

If you're curious about learning to program, I'd be happy to give you some pointers or tutoring. I love it, it's a great profession, and I'm happy to share.

- Peter

The_Lex said...

Hey Peter,

Thanks for the offer. Now's not the time for me to get into actual programming. Maybe later.

I'm interested in understanding the concept you introduce, though. My viewpoint is completely naive here so please bear with me as I question.

I'm not entirely sure I get the distinction between cut & paste verse what you propose, '"use that bit of code over there" without having to repeat it.' Is that like granting permission with the borrower attributing the 'bit of code' to the original author? Or, referring to it more like hyperlinks in HTML, is the 'bit of code' not in the new program and the new program refers to the 'bit of code' that sits somewhere else? Or is the scenario completely different?

Anonymous said...

A better example: it's more like a bibliographic reference than an excerpt. So there's only one copy of the code, the programmer just includes it and gets its functionality by reference rather than by copying and pasting.

There's some big benefits to this, like the ability to work on the two pieces of code separately. Like, I use a project called ActiveRecord for saving data to my database. The folks developing ActiveRecord can fix bugs and improve performance in their code. My code just says "include ActiveRecord and use these features over here" rather than having copies pasted into it that I'd have to keep up-to-date. This is a big part of why software development can move so quickly.

Anyways. I know this is all a tangent off your original post; I should mention that I'm glad to hear your research is going well.

The_Lex said...

Not a problem! Thank you for the good wishes.