Skip to content

Learning Go – Miniblog #2 – What To build?

January 8, 2013

This carries on from here.

A problem that lots of people seem to have when learning to program is deciding what sort of programs to write. Places like r/learnprogramming seem to be full of desperate people with no imagination wanting others to tell them what sort of programs to create. I’ve never had this problem – my difficulty is setting limits on my imagination, and I’d honestly suggest that if you do have problems in this area, then maybe programming is not for you.

I’ve thought of  a few things I could write using Go, but it seems sensible to play to what its creators say are its strongpoints, which are as a system languages for writing servers. So, I’ll write  a server. I decided that I would:

  • Write an HTTP server (never done that before)
  • Make it multi-threaded (done that lots of times before, but obviously not using Go)
  • Make it serve CSV data files as HTML tables (done that before – see my CSVfix project).

So, this is a mixture of things I have and haven’t done before (none of them have I done with Go), but in application areas that I know a reasonable amount about. This has always been a good mix to me for an investigatory project.

First thing to do then, create a project directory, put it under version control (I’m using Mercurial and BitBucket’s free public hosting), and then sit back and decide how to really get started. Well, one thing I can do is put the “hello world” program and a readme into the version control and then sit back and do some thinking.

The BitBucket project is available here –  it will, I guess, change in structure and content considerably as I learn what the best ways of structuring Go projects are.

Advertisements

From → golang

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: