I’ve written a couple “Hello World” programs and projects in my life so far and I’ve found that I now tend to think of them as icebreakers. Just as you would with a person, softwares and hardware often require a simple, standardized way to start the process of getting to know each other. These days some software, such as Google, Pandora and other information personalization services, will actually get to know you in return! It’s a handshake, a way for anyone and everyone to gain access to the same conversation even if the vowels are sometimes Classes, the punctuation seems designed to drive you insane at first and the consonants are the hum of a servo or the blinking of an LED.
What does this concept have to do with this blog? Well, I could have agonized for hours over the perfect subject to try and get you to visit my personal website, or I could just use the handy, standardized format of a “Hello World” project to get the ball rolling. You may have already gotten a feel for who I am if we haven’t met by the tone of my posts or possibly you were following the rise of SparkFun Electronic’s Education Department. Great! That’s part of the reason for my website. I hope you had a chance to check out the free educational materials over here. In case you haven’t guessed already I’m into technology. I suppose I could blame my father for having a subscription to both Analog and Asimovs through out my childhood. Or I could lay the fault at my wonderful late uncle’s feet who, with a twinkle in his eye and a wooden tobacco pipe in hand, would often prod my mother with the statement of “It’s amazing what they can do with plastic these days” at the dinner table and had a fairly large basement filled with vacuum tubes that I was amazed to understand was a computer. (I think it may have been one of the later generations of the UNIVAC.) Maybe it’s my brother’s fault for spending more time buried in his computer than playing hockey growing up. Who knows?
Part of my point is that regardless of who was responsible for this fascination I thought when I started writing this post that I never really had the “Hello World” introduction to software or hardware until I found myself in a Java class in college. It’s possible that there was a “Hello World” moment with Hypercard when I was first introduced to Macintosh. Maybe it was even before that with Pascal in Mr. Forrester’s fourth grade class. Come to think of it, there must have been a “Hello World” type of activity when I was truly first introduced to programming with LOGO in first or second grade. What’s interesting is that, despite not really being able to remember when I first started programming, or how many languages I’ve written code in, I still don’t consider myself an excellent programmer. A lot of people who code don’t. That’s where trusty ol’ “Hello World” comes into play. It’s a rock in a storm that you know will never change shape or position too much. Sure, sometimes it’s a blinking LED, other times it’s a string of text scrolling across the screen, but it’s always well documented, easily achievable and gives you enough of a vocabulary that you can move forward creating new code or discuss your new found hatred for semicolons with someone more proficient than a relative novice. By the time I found myself in that introductory Java class with somewhere around 500 other students I definitely did not consider myself a programmer. Sure, I had written programs, but a programmer? Me? No way. Interestingly enough the “Hello World” in that class made little impact on me. I had just enough of an introduction already that a simple text message was far from impressive. I wanted more. I wanted to craft a Golden Axe casting a cybernetically enhanced penguin as the lead character. I wanted to create galaxies and then an interface with an engine room and a co-pilot of indeterminate species and trading missions to explore these galaxies! Instead, what I got at the culmination of the Java class, was an assignment to make a digital clock readout. That’s it. A clock. They took all of my excitement, creativity and lust for knowledge, lit it on fire with a blowtorch and then beat it to death with the equivalent of a large, somewhat stale and putrid piece of asparagus (I really don’t like asparagus) by asking me to make a lousy non-interactive clock.
Luckily for me the University I attended (unlike a lot of Universities out there) had a wonderful program called Bachelor’s Degree with Individual Concentration. Imagine my delight when I found a collection of people each forging their own path and supporting each other! Sure, there were stories of the guy who had basically majored in Ultimate Frisbee. But when you started to research the people who had chosen paths like him you realized they were studying things like aerodynamics engineering, game theory and social dynamics, not to mention how all these interests intersect. The next semester I signed up for the class I really wanted, Compsci 596, or something like that, where I would learn basic 3D animation and computer modeling. In case you’re taking notes, here’s the part that most of our school systems seem designed to quelch- I signed up for the class I really wanted to take. Instead of working through someone else’s idea of a curriculum, I decided what I would study. I think maybe that’s my point here. A “Hello World” program really only works if the user is interested in achieving more than just saying “Hello” or fulfilling someone else’s requirements. So, just as I am more interested in writing the blogs that will come after this one, I hope that you and the ones in your life you hope will learn about technology will use the “Hello World” format to sidestep the daunting drudgery or sheer magnitude inherent in the task of learning a new language or skill. These days the “Hello World” seems to be creeping into areas other than just technology. Maybe your first “Hello World” will lead to a material science “Hello World”, a bio-related “Hello World” or maybe a combination of artistic and technology related “Hello World”. Remember, the important thing, in order to battle those doldrums in the back of many people’s heads that mutter “So what? Anybody can do this,” is to make sure that after completing the standard program or activity you stylize it a little. Make it your own. Ya know? So, yeah… “What’s good, Universe?”