Installing Google’s GO programming language on Debian SID

The instructions available at GoLang.org‘s installation page almost worked for me.

I already had all the required C tools installed. What I did not have installed was the Bison parser generator. I installed bison via:

sudo apt-get install bison

I followed the rest of the instructions. Once Go language was built, I added the path to the Go install’s bin directory to my path by editing by ~/.bashrc file to include:

export PATH=”$PATH:/home/user_name/go/bin:”

User name was my name, but it would be your name on your system.

Probably didn’t have to mention that but who knows.

Installed go as directed.

The version of Go that I installed used 8g as the compiler and 8l as the executer rather than 6g and 6l as indicated in the installation instructions.

I create a file named t1.go with the contents indicated in the installation instructions, the basic “hello, world” first program. The file contents was:

package main

import "fmt"

func main() {
fmt.Printf("hello, world\n")
}

I ran the code through 8g and 8l, and ended up with 8.out (not what I expected).

I have to look further into Go. I am heavily into Python right now and not into Java since Oracle bought Sun. Python has certain weaknesses that I expect another language will address. The biggest weakness from my perspective is the lack of data hiding. Second biggest weakness, the face that the code does not seem to be parsed and then run, it just runs with each semantic object getting “run”. The code “class p: pass” is a runnable piece of code. There are some odd side effects of this that I find discomforting, particularly when coupled with the fact that class properties spring into existence at will anywhere in the code; a class doesn’t represent a specific and defined structure. Be that as it may, I find Python extremely pleasant to use and a very productive and enjoyable environment.

Go seems to be a mixture of C, Java, and Python structures. For example, Go including slices, etc. One thing that caught my eye about Go is the multiplexing functionality. As soon as I read about it in the I tutorial the thoughts came tumbling fast and furious: scalability, ease of multitasking, etc. I will be keeping an eye on Go.

One other thing I should mention: I am writing this on a Google Cr48. I like this system very much and it certainly gives a good idea of where Google is going. I’ll write more when I have had more time playing with it. However, first looks:

Hardware: I like working on the machine for long periods of time. The screen doesn’t wear out my eyes. The keyboard has a very nice touch, to me. I like that the keyboard has lower case letter representations instead of upper case. I am a touch typist so I don’t look at the keyboard much, but when I do the lower case letters have an inviting “I’m not yelling at you” feel.

It is very odd to be working on the web all the time, but that is just because I am used to working in a terminal window a LOT. I am a heavy user of Vim, and I use Emacs and iPython, etc. Lots of shell stuff. I miss the shell. However, I am sure that will be coming.

I can’t develop on this computer. That is my only real gripe and I know they are working on that.

So, for an early system, I’m liking it a lot so far – first looks.

Advertisements

About rico49

Writer, progresive activist, open source software developer. Working to meet the needs of under- and un-employed people globally and in the United States.
Gallery | This entry was posted in Debian GNU/Linux, Google, Python. Bookmark the permalink.

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