How I got started with programming

and what I've learned since

Posted by Janne Cederberg on April 26, 2015
Category: programming
Tags: html, javascript, python, xkcd

Getting started

I initially got started with programming based on two separate triggers:

“You should learn HTML”

Around 1997 my uncle Antti Korhonen who was working at Nokia at the early days of its “world conquering tour” encouraged me to start learning HTML. I asked him what kind of tools I needed and he said something to the tone of ‘Just use Notepad’.

I was around 16 and hardly knew anything about computers. My parents had bought our first PC roughly a year earlier and all I knew back then was this: If I type dir in the command line, it’ll do something. I didn’t really know what that something was but hey, that’s a start :)

So learn HTML I did; initially developing for NCSA Mosaic and later for Netscape 3 using HTML 3.2.

Programming the TI-85 graphics calculator

Roughly a year later when taking a numerical math course at high school I found the programming examples presented in the margins of the course book interesting. I had been writing raw HTML using Notepad but hadn’t really done much of actual programming.

The examples in the math book covered creating small math related programs using Texas TI-85; code was presented as pseudo-code resembling the Basic language that was used at the time in both TI-85 and the Casio equivalent.

Here’s a photo of a page of the actual book I used for studying back then; I still own the very copy. It’s a photo of a page covering writing a simple program to do Newton’s iteration for solving roots of equations:

Newton's iteration as Basic code for TI-85

Programming on the calculator was very basic of course (pun intended), and used constructs such as Goto-statements which are highly discouraged these days. Nevertheless it was enough to get me interested and desiring to learn more; and those two are vital in learning to do anything well.

What I learned after getting started

It’s now been almost 20 years since I got started with programming. One curious part is that I’ve actually never worked as a full-time programmer though. I’ve always viewed programming more or less as a tool to get something I needed done. And to get that whatever done, I’d research, read read read, maybe get acquinted with a new programming language etc. Basically whatever it took. And by doing this I’ve learned tons over the years. And I’ve also realized how much more there would be to learn :)

I get fairly well along with HTML, CSS, JavaScript, jQuery, PHP and Python. Sometimes I’ll automate something using VBA in Excel. I’ve written a fair amount of Windows Server ActiveDirectory Group Policy Objects and JScript scripts associated with them. I use the Chrome/Firefox developer console daily. I compile my own version of OpenWrt when needed. I’ve taught Java at the university though never used it in my own work/projects outside university. I write bash scripts and configure Apache/Nginx webserver and MySQL database stuff on a semi-regular basis for example when playing with virtual machines; or SoC machines like RaspberryPis and BananaPis. Occasionally I also develop enough patience to write the former configurations into Ansible scripts. Ruby and its gems are cool I guess but somehow I seem to enjoy Python more.

Here’s Randall Munroe’s view on programming in Python, as presented in his well-known and appreciated nerd humor comic xkcd:

xkcd Python

You want to learn programming?

I case you’ve read all the way until here, then I guess you’re not easily scared (or bored). That’s something you’ll need when learning to program. And like I said, I’m not a full-time programmer. To me programming is a tool for getting stuff done. Like writing is a very useful tool even if you’re not a professional writer.

To get started, think about what it is you want to solve and then try to figure out how to do it. Google is your friend. Stackoverflow is awesome. Just like you.

And of course you can start by going through the excellent Code.org intro exercises!. Also you can post questions in the comments below :)

How did you start?

In case you’re already into programming, please leave a comment below for example on how/why/what inspired you to start learning programming.



Comments