The Go Programming Language
February 6th, 2010 by CGI & PHP.com
Google Tech Talks October 30, 2009 ABSTRACT Presented by Rob Pike What is Go? Go is a new experimental systems programming language intended to make software development fast. Our goal is that a major Google binary should be buildable in a few seconds on a single machine. The language is concurrent, garbage-collected, and requires explicit declaration of dependencies. Simple syntax and a clean type system support a number of programming styles. For more on Go including faqs, source code, libraries, and tutorials, please see: golang.org
Popularity: 4% [?]

Effective Java: Programming Language Guide
The Go Programming Language Promo
CS 61A Lecture 1: Functional Programming I
Programming Perl
Advanced Topics In Programming Languages: Closures For Java
Advanced Topics in Programming Languages: Java Puzzlers,…





February 6th, 2010 at 7:47 am
Concurrency is the way to go!
IMO, Go's syntax should be more like CSP's. It is hard to see the composition of processes.
What about interruption? That would be an interesting feature.
The other thing I thing is missing is the possibility to do some type of model or refinement checking … it is possible, just look at FDR and SPIN.
Good job!
February 6th, 2010 at 7:50 am
Lets just sincerely hope and pray that "Go" does not just become YAPL (Yet Another Programming Language). I think this guy used to work in AT& T along with the likes of – K&R, BS etc, so the man is clearly a genius – I just doubt the futility of designing a new programming language every hour and pushing it through the throat of users. I am more of writing real world products and applications – which solves real problems. But yeah someone has to do this stuff too….
February 6th, 2010 at 8:07 am
I agree.
February 6th, 2010 at 8:14 am
D language of digitalmars is much better than this language
February 6th, 2010 at 8:46 am
This is really a good video! They are doing the same that I do!
^_^
February 6th, 2010 at 9:13 am
sockets should be handled like channels.
February 6th, 2010 at 9:17 am
They probably peek at the JVM source code to figure out how the best garbage collector works.
February 6th, 2010 at 9:26 am
Also, wrt dynamic programming, aside from variable not having a fixed type, what is your idea of the dynamic aspect of programming?
Self modifying code? Looking at objects at runtime (similar to Java introspection)?
Passing code blocks into variables?
February 6th, 2010 at 9:38 am
Not so hasty with your accusations about "maturity" buddy. I'm a hard core coder for well over 25 years. Chances are I have seniority over you.
I'm simply stating that it has been my experience that all the things that the compiler doesn't catch at compile time, become a huge major pain in the ass at runtime. It's very difficult to test ever scenario, even with test cases.
I've seen large architectures fall flat on its face because type mistakes would only show up at certain customers…
February 6th, 2010 at 9:44 am
@a1mint
Anyone that says strictly type languages are a good thing simply don't have enough experience in real world applications.
There is a huge amount of power and flexibility in a dynamic language and simply saying they are bad shows real immaturity in application development.
February 6th, 2010 at 10:21 am
There are others language more productives than C/C++, but C/C++ is faster, OK
Google folks have to make up a revolutionary garbage collector, to achieve what they promised….
February 6th, 2010 at 10:44 am
There is nothing wrong with a Garbage Collector.
I get a little tired of hearing people talk about how fast C/C++ is without considering the productivity of other languages.
Writing large scale applications in C++ just isnt practical for 99% of software development today. furthermore, writing optimal and safe applications in C++ is just plain difficult, and doesnt yield anymore benefit than to use something else.
just saying is all.
February 6th, 2010 at 11:41 am
I think that C/C++ are going to be faster than go , because google folks think to put a garbage collector….
February 6th, 2010 at 12:06 pm
Also, are people aware of the Scala language at all? Scala is *quite* good.
It seems everyone has their own ideas and I'm afraid that people aren't aware of work already done.
February 6th, 2010 at 1:06 pm
There are so many mistakes that can be made. The only way for a new language to be successful is to understand all the mistakes in the previous ones. Not having that understanding means history will simply repeat itself.
Eg. untyped variables and how errors only at runtime destruct a language – smalltalk anyone?
People that immediately jump up saying untyped variables are a good thing don't have enough experience.
February 6th, 2010 at 1:12 pm
You could but you would obviously just be trying to capitalize on google's success.
Do you think google is trying to capitalize on Go's success with "Go!"?
February 6th, 2010 at 1:32 pm
You are a stupid fool. Don't talk about compilers if you have never written one.
Both compile to native machine code. This is _NOT_ the reason why it can't be faster or fast as C.
February 6th, 2010 at 2:01 pm
Pointers aren't bad, pointer arithmetic (aka pointing to something that is not an object) is bad
February 6th, 2010 at 2:34 pm
You are right, my next company will be called "google!"
February 6th, 2010 at 3:20 pm
Sure if you write the wrapper code.
February 6th, 2010 at 3:42 pm
@thierrytheviking
Oh it is, the need to check every index and the zillions of dynamic type casts in generics is slowing it down at lot.
February 6th, 2010 at 4:26 pm
Hi, can you tell me if it is possible to use database with Go?
February 6th, 2010 at 5:10 pm
Please don't think that I don't have hopes for go. I want it to succeed. And I think that if any company is capable of creating a c/c++ replacement, it's Google.
February 6th, 2010 at 5:53 pm
24:42 "a slightly different example."
February 6th, 2010 at 6:52 pm
There are some errors in the subtitles.
15:26 "when you get into this dependency trees"
16:17 "for you and utterly transparent"
15:48 "words like thread or process or coroutine,"