Linked by Thom Holwerda on Tue 4th Sep 2012 20:04 UTC, submitted by MOS6510
General Development "Computer programming is the art, craft and science of writing programs which define how computers operate. This book will teach you how to write computer programs using a programming language designed by Google named Go." Freely available book on Go.
Thread beginning with comment 533900
To view parent comment, click here.
To read all comments associated with this story, please click here.
Valhalla
Member since:
2006-01-24

What about the merits of individual languages and why they dont stick?

Well looking at Go (which is what this article was about) it's far too early to evaluate if it will 'stick' or not, but in my opinion it's off to a good start.

My main languages are Python and C, and I think Go lands somewhere in-between with some nice built-in concurrency features.

I've only played around with it sofar, here's a small rundown of likes / dislikes:

likes:
fast compilation (as in fast!), simple clean build system
clean language syntax
interfaces!!
goroutines, channels
multiple return values, duck-typing, defer, composite literals
data initialized to zero

dislikes:
at times rather poor performance for a static 'aiming at c-like speed' language, however it's still very young. Gccgo gives greatly improved performance in some programs.

lack of a union type, started calling some c libraries using cgo only to notice that accessing union data required awkward and slow runtime reflection.

no implicit type conversion (death of a thousand casts)

non-optional garbage collection (however given Go's target domain of concurrent programming I can understand the rationale behind this choice)

Anyway, as I said I've only played around with it briefly sofar but I'm thinking of diving into it seriously, anyone have a beyond-the-barebones Go programming book to recommend?

Reply Parent Score: 3

satsujinka Member since:
2010-03-11

I mostly agree, however, I don't really feel it's performance is so poor as to be an issue. I do really miss the union type, however, if I remember correctly there was issues with the gc (and interfaces can cover in language needs to a certain extent.)

Reply Parent Score: 1

Valhalla Member since:
2006-01-24

I mostly agree, however, I don't really feel it's performance is so poor as to be an issue.

Well it was mainly that of me expecting near c-performance as that was a stated goal, however I also think the lack of (my expected) performance is primarily due to the lack of a mature gc and better optimized math functionality. Maybe I should do a tip build to see if there's been any substantial improvements of late.

I do really miss the union type, however, if I remember correctly there was issues with the gc (and interfaces can cover in language needs to a certain extent.)

Yes I can see it potentially causing problems for a memory safe language like Go, still it's really only a problem if you are using external code like c-libraries, if you code 100% in Go I presume you can efficiently design around a need for it.

Reply Parent Score: 2