Go Help

Go 1.0 is Here!

March 28, 2012

Congratulations to the Google Go team.  The Google Go Language has reached Version 1.0.  Since November 2009 the Go team has worked steadily to polish what was already an excellent language idea.    They were very receptive to input from developers and encouraged participation in the development of the language.  It is a great example of how an open source project should be run.

I started this site soon after the introduction of Go to help people get started.  It has not been updated for a while, however much of what it contains is still relevant.  The scripts need to be updated to use the new Go Tools like Go Install for an automated build.  Go is now a standard mime type in newer Linux distributions, so syntax highlighting is already there for  most editors.  Go installation is now much easier, you can just download the appropriate binary libraries for your OS, you do not need to maintain your own sources and compile everything from scratch.

The question most often is asked by the person new to Go is, “What editor or IDE should I use?”.  The short answer is, “To get started, use whatever you like”.  All that is required is a basic editor.  For old school or command line lovers, you can use ed, nano, vi, vim, emacs.  Even though I am old and have used all of these, I prefer a graphic IDE.  Here your choice is again very broad.  For Linux users, you can start with whatever your distribution offers.  Gnome based distributions have or can easily add Gedit.  KDE has Kate.  You could even use Leafpad.

There are 2 other choices that are worth considering for more advanced needs, both are cross platform.   Eclipse is a very full featured professional IDE.  A plug-in has been written, Goclipse, that integrates Go project build and debugging functionality into Eclipse.  GolangIDE is a simple, lightweight IDE for Go that includes all of the important features of a good IDE.  Both include built-in gdb graphical debugging.

The Go language has many interesting improvements in syntax over existing systems languages.  But, what makes Go compelling to me is that it makes concurrent programming easy and robust.  The other mainstream languages, like Java and Python (and I like Python), are clumsy, convoluted and just plain painful in their handling of concurrent processing.  They do not give one any feeling of scalability or robustness.  With the future of processors definitely going toward more and more cores, it important for our programs to automatically take advantage of them without any special consideration,  Go does that with incredible simplicity.

 

3 Comments »

  1. Good post and right to the point. I don’t know if this is in fact the best place to ask but do you folks have any thoughts on where to hire some professional writers? Thx :)

    Comment by Donnell Okelley — June 2, 2012 @ 7:22 am | Reply

  2. I just read your posts and it was pretty much what went through my head too when i thought back.
    I started with Go very early too and your help site about setting up gedit as a Go IDE was a very big help.
    So thanx for this cool contribution.

    Comment by Shaban Naasso (@Shaban_Naasso) — April 27, 2012 @ 3:22 am | Reply

    • Thank you for your kind comments. I am glad to hear that the information was useful. I have been trying out other editors for the last few months, including Goclipse, and I keep coming back to gedit. The latest version 3 has some very nice improvements, including multiple tab groups, ie, side by side edits.

      I would be interested to know your opinion, if you think it would be worthwhile for me to update the site with ways to use gedit 3 for GO 1.

      Thank you

      Comment by jgord — May 2, 2012 @ 3:41 pm | Reply


RSS feed for comments on this post.

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 )

Connecting to %s

Theme: Rubric. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.