Saturday, July 23, 2011

Go: A Second Impression

My initial impressions of Go have always been somewhat negative because I was comparing it to things like Scala, Haskell, and Python. However, having read a good part of the tutorial, I've changed my opinion. I really like Go!

Go doesn't try to be an extension of C to make it more like Smalltalk--that's Objective C. Go doesn't try to be the end-all-be-all of object-oriented languages derived from C--that's Scala.

Since it neither maintains backwards compatibility with C nor adds a ton of features, I originally had a hard time getting excited about Go. Now I see that Go is a modern language that tries to follow what I think of as C's philosophy. It's simple, elegant, small, and native.

There's an old saying:
Do not seek to follow in the footsteps of the wise men of old. Seek what they sought.

- Matsuo Munefusa (”Basho”)
I think that perfectly describes Go.

4 comments:

steve said...

I would have to agree with you. My first thought after poking around in Go was: Why would I ever want to use this?

After revisiting it, and seeing the platform mature quite a bit in such a short time, I definitely see Go as a contender in years to come....especially with more and more computational work being tasked to smaller and smaller devices. I dont think Go fully supports ARM architectures yet, but when it does, the user base will surely take a jump.

Utopian Nihilist said...

Go does support ARM quite well already, there are even two ARM builds in the official Build Dashboard.

Christopher Taylor said...

although Go *is* the result of the wise men of old doing the seeking ;)

Shannon -jj Behrens said...

> although Go *is* the result of the wise men of old doing the seeking ;)

Good point ;)