Tuesday, October 16, 2012

Welcome...

Welcome to my new blog!

The purpose of this blog is to record the process of learning how to program using the Google Go language.  Go has been around for a few years and has matured to a point where it is being used for production applications.

My background in programming goes back 20 years.  I started out as an RPG programmer for a few years then transitioned over to Lotus Notes development.  For the last 16 years I've been knee deep in LotusScript, @Functions, html, ccs, javascript, jquery and Java.  Java is something that I use now and then, but don't have any too much "professional experience" with it. I considered ramping up my Java skills and getting certified, but decided against it.  Spent a week going over Java and it just felt stale and "been there, done that".  My current job is doing Lotus Notes programming for a mortgage department of a major national bank.  It is a cool job, partially because I work from home and partially because I've done Lotus Notes programming for so long it has become almost second nature.

For the past 12 years people keep telling me "Notes is going away" and I should learn something else.  That was the reason I learned Java and web development skills.  Figure if Notes "goes away" I can fall back on those skills.  My opinion is that Notes is not going to suddenly go away, but it will slowly become less important and just slowly fade away.  Many of the applications I programmed in the past are being replaced with off the shelf web applications.  I can envision Notes programming becoming less of an attractive option for developing new applications in.

Learning a new language is being done to keep my skills fresh, give me something new to learn, keep me from playing too much Warcraft and maybe (just maybe) become a new career direction.

I spent several weeks searching the web and trying to figure out some new programming language that appealed to me, and seemed like something I would enjoy learning/programming in.  Ruby, PHP, Java, Erlang, .Net, Google Dart and on and on...

Ran into a few tutorials that showed how Google Go can be used to develop web applications.  The fact that Go can have it's own web server seemed interesting.  The type of programming they showed looked to be almost on the level of what I've been doing with Lotus Notes web applications.  The more I researched Go, the more I could envision myself learning and excelling at it.

My main personal computer is a 17" Macbook Pro running OSX 10.8.2.  I have an old iBook G4 that has been sitting on the shelf that is running OSX 10.5.8.  I'm going to attempt to setup the Google Go environment on the iBook.  I suspect that I'm going to run into problems doing so, but like the idea of having a computer dedicated to just Go programming.  Also like the idea of having a practical use for something that is just sitting around and gathering dust.  From what I have read, Google Go should run on the iBook using a PowerPC distribution for it.  Suspect that getting the web server to run on it may be a challenge.  Time will tell.

My plan for the first few weeks of learning go like this:

1.  Get the Google SDK setup on the iBook G4:  https://developers.google.com/appengine/docs/go/gettingstarted/

2.  Go through basic Google Go Tutorial at tour.golang.org

3.  Setup the Go web server environment via the https://developers.google.com/appengine/docs/go/gettingstarted/introduction tutorial

4.  Work through the Go web development tutorial.

5.  Start working on my own Go Web Application.

For my first Go application would like to create a simple bug tracking system that mimics one I created on the Lotus Notes platform.  Will post more about then when I get closer to starting.

I'm such a noob at this that I'm sure lots of dumb mistakes will be made on my part.

Hope this blog will keep me motivated to keep going with Google Go, and maybe it will help others get started also.

3.