Sophie Au

Software Developer, Web Designer, Consultant, Tea Enthusiast

Why I Love Programming

07 December 2014

I have a confession to make: I really like tidying up. Whether it’s my room, my laptop, someone else’s room or code. I really like stuff being neat and tidy and organized. I am obsessed with making plans and lists and lists for what plans and lists I have to make and so on.

And this is exactly why programming is perfect for me. When you break it down, coding is nothing more than writing a todo list for the computer.

Let’s look at a code example. The world-famous “Hello World” in Java:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

How is this a todo list you might ask. Here’s how:

  1. You define which areas the to-do list is concerned with, in this case the class HelloWorld (e.g. my house) and the method main (my room)
  2. You tell the program what to do: It is supposed to print the sentence “Hello World!” in the console (my wallpaper, although my parents would kill me for that)

Now, a pseudo-code example that is closer to reality might look like this:

SophiesHouse {
    SophiesRoom {
        while(desk == not tidy){
            put one item where it belongs;
        }
    }
}

So basically, as long as my desk is not tidy, I will put away one thing that’s on there but shouldn’t be. And just so we’re clear which desk I have to tidy, we specify that it’s the desk in my room in my house.

And that's all there is to it. Of course, it gets complicated very fast but a program is and always stays a todo list. That's the beauty of it. Even a behemoth like Google's search engine is one big todo list with millions if not billions of sub-todo-lists and sub-sub-todo-lists and so on.