Growing up, I was fascinated by and drawn to computers at an early age. My family didn’t have the money to get an Apple II like we used in elementary school, so the first personal computer in our house was a cheap IBM PC clone my oldest sister won in high school in 1989. It was painful to use, with its amber monochrome screen, 5 1/4 inch floppy drive, and no hard drive. It did give me my first introduction to MS DOS though, and provided for hours of entertainment playing Jeopardy! and Wheel of Fortune
A few years later, the family Christmas present was a Packard Bell (I had no idea they were still around) PC with Windows 3.1 and a CD-ROM drive. It was pretty nice at the time, giving me ample opportunity to mess around and learn. A few years later, I got acquainted with the Macintosh computers in high school and fell in love with the Mac OS.
During all of this, I was learning a ton about computers, but I never really had an opportunity to dive into a programming language and build something from scratch. I bought a “C for Dummies” book at one point and messed around, but the C language isn’t exactly made for someone just starting out, so it didn’t go very far. I ended up writing my first “real” program in Ada for my first computer science class in college.
I dropped my computer science major a couple of years into school to take Information Systems classes instead, which was a lot heavier on the practical application of computers to solve business problems instead of algorithms and theory.
Now, years later, I’m grateful to have taken those programming classes, even though I haven’t written a line of Java or C++ since getting my degree. My tools of choice now are scripting languages like Ruby, Python, and PHP, which shrink the time from idea to implementation and give me a powerful way to automate repetitive work and create useful programs for us and our customers.
I sometimes wonder how things might be different if I had the opportunity to start writing programs in BASIC on the Apple II. Maybe I would have stuck with my computer science major, or decided to go into computer engineering. Having that kind of exposure to programming languages at an early age could have changed things.
Today, there’s an odd problem. In the U.S. at least, we’re surrounded by computers that are extremely powerful, but there is just a relatively small group of people who know how to make them do what they want. Program them, in other words. This is especially the case for kids. Coding just isn’t that accessible, a case laid out in why the lucky stiff’s essay The Little Coder’s Predicament.
Four years after writing that, Why and a small group of others have done something about the problem. They’ve created an environment where kids can go through programming lessons and easily write code. They call it Hackety Hack.
This is just awesome. Hackety Hack teachs kids to program in Ruby (yay!), meaning things are really easy to pick up and understand from the start.
While Kael is still a little too young for this at just a year and a half, I’m excited to have a good way of introducing him to programming when he’s a bit older.