Note: Several years ago I started a blog called “The Coding Noob” which never went anywhere. I’ve since rolled those posts into my personal blog. This was the introductory post.
When I was a kid, my dad would take me to the local community college to play on their VAX mainframe computer. I initially spent my time playing Colossal Cave Adventure [play] and Star Trek [play]; but eventually started dabbling in Beginners All-purpose Symbolic Instruction Code, or BASIC.
BASIC was an easy-to-learn programming language that was ubiquitous in the early 80s. Anyone who owned a home computer in those days is probably familiar with this bit of code:
10 PRINT "HELLO"
20 GOTO 10
…which would display a never ending column of “HELLO”s on the computer screen.
I took a number of Saturday morning classes at the college, learning the ins and outs of BASIC. I received a Commodore 64 for Christmas one year, with which I spent even more time in the world of variables, GOSUBs, and IF/THEN statements.
While I spent a lot of time playing games, I also spent hours upon hours typing in BASIC and assembly language programs from the pages of Compute!’s Gazette magazine. I tried my hand at writing my own programs; probably the most sophisticated one was a text boxing simulator, based on a pen-and-paper game a school friend thought up. It wasn’t much, as I knew nothing about boxing, and a text-based boxing simulator is about as boring as it sounds.
While BASIC was an excellent introduction to programming, it was also very limited. At the time, assembly language was where the real money was, at least on the Commodore 64. It provided much faster performance and far greater flexibility, but with a very steep learning curve. You also needed additional programs such as a compiler and debugger, which weren’t cheap.
As I entered high school, I discovered the guitar (and girls); and lost interest in programming.
Enter the Internet
Throughout high school and the first couple of years in college, I used the computer extensively, but it was mostly for schoolwork and games. I did take a few computer classes here and there, including a HyperCard class, which would also serve as my introduction to the internet. Over the next few years, I would develop several various websites, and eventually it became my full-time job.
For years I have wanted to really dive deep and truly “learn” how to program. I think the roadblocks for me are:
- What programming language(s) to learn. There are dozens of languages and approaches. Do I learn C++? C#? Python? Objective C? Java? PHP? ASP? None of the above?
- How to apply what I learn into something valuable and applicable to my career.
So rather than fumbling around blindly, in the past I have chosen not to do anything at all. Which isn’t the way to accomplish much of anything.
Along the same lines, I have been trying to come up with new blog ideas. So this week it just hit me – why not blog about my attempts at learning how to program? I have no idea if this will be of interest to anyone else, but hopefully it will give me motivation to progress. And by writing down what I’m doing, it may help with retention – which has been a stumbling block in the past.
I’m not quite sure what my ultimate goals are. Primarily, I’d simply like to increase my proficiency in programming techniques in general. Applying this knowledge to my career is another goal. Developing for mobile devices is a growing industry, and will only continue to grow going forward, so that is an area I’d like to address. And of course – games. Ever since I was that four-eyed kid in the community college computer lab, I have wanted to create my own games, so that’s certainly something I’d like to pursue – even if it’s a Space Invaders or Breakout ripoff. Of course, coming up with the next Peggle or Farmville wouldn’t hurt either.