The Go Programming Language (11)

1 Name: #!/usr/bin/anonymous : 2009-11-11 06:46 ID:kGvdNe89

Go, a new language created by Robert Griesemer, Rob Pike and Ken Thompson for teh Google.

http://golang.org/
http://www.techcrunch.com/2009/11/10/google-go-language/

2 Name: #!/usr/bin/anonymous : 2009-11-11 11:59 ID:Heaven

I took a look and it's pretty shitty. Basically when you're a big company you often need some specialized language, ending up writing a C-like language with the features you need (MS did this, apple did this, google did this, sun did this, etc). These languages are boring. Go isn't an exception. It's useful for concurrency, that's about it.

3 Name: #!/usr/bin/anonymous : 2009-11-12 06:31 ID:4hkdQ35V

Go already exists 10 years before.
Google is fucked. HAHAHAHA
Also it sucks.

4 Name: #!/usr/bin/anonymous : 2009-11-15 15:27 ID:TEbWqc1c

I agree, there's enough of C to go around multiple times.

If I wanted to make up a language nobody cared about, I'd make a language actually designed for generating and processing webpages (or XML) (ie not java, ruby or perl), the idea being that each page or form would be entirely contained within a file: the code for generating the form and the code for processing it. Each page would be standalone and stateless, allowing it to work with or without an "application server". (Using one would reduce execution/fork overhead, db connections etc. Without one you'd use mod_uselesslanguage, or a CGI executable)

For HTML, variables expected to be received would be declared, along with an optional source of the variable (ie "cookie", "post") and an optional function for validating that variable. The body of the program file would effectively be a gigantic select statement, eg "here is the part to use when someone GETs the form, here is the part to use when someone POSTs the form" and so on (PUT, DELETE, etc).

In SOAP/XMLRPC mode, the file would contain functions (marked public or private), each of which would declare a DTD for incoming data. A WSDL could be generated automatically from the list of public functions (eg returned on GET).

5 Name: #!/usr/bin/anonymous : 2009-11-20 19:57 ID:Heaven

>>4
Oh, you mean like PHP?

6 Name: #!/usr/bin/anonymous : 2009-12-01 06:11 ID:2NmZfZM5

I really don't get why they bothered with pointers if they don't have pointer arithmetic. It only makes the language more tedious without making it more powerful. It's like the explicit references in perl, though probably not as bad.

7 Name: #!/usr/bin/anonymous : 2009-12-02 08:05 ID:voUetLPw

Let's look at it from a historical perspective.

Right now, Google has some of the best intellectual capital in software engineering among all companies on earth. Their reputation is good enough to hype COBOL as the Next Big Thing (tm) and people will still drink their Kool-Aid.

I, and I'm sure many others, recognize that they have a prime opportunity to revolutionize software engineering, at least for the next decade. And now that they've decided to actually release a programming language, I feel that they have a RESPONSIBILITY to software engineers and computer everywhere to make it COUNT.

This is why I am so disappointed with Go. Reading through the specification gives one a sense of deja-vu. All the stuff in there has been around for decades, and there are features NOT there that should be given that it's 2009. In fact, Go the language could have been invented circa 1990 by a CS graduate student and nobody would have batted an eye.

Google, with their not inconsiderable political sway, could have taken 40 years of research and made something AMAZING, and that language would have as much buzz surrounding it as Go does right now, even if it looked like it came from the highest ivory tower, simply because IT WAS DESIGNED BY FREAKING ROB PIKE AND KEN THOMPSON. No other people had that opportunity. Sure, one could put one's creation on the Internet and hope for the best, and it's worked small miracles for Haskell, Clojure, Factor, etc.. But reality dictates that these languages, no matter how inherently well designed they are, will never even touch the popularity of the major players.

Instead, we get a language that is only incrementally better than C, Java, and C++, which, I'm going to say straight, isn't much of an accomplishment at all. Ignoring syntax, here's what Go should have, at a MINIMUM:

Full type inference;
Generics;
An effects system;
A macro system;
Type operators;
NO null/nil construct. Seriously, that shit's not necessary in this day and age.

I like their inclusion of first-class functions, interfaces (which I feel are even better than Haskell's type classes), and CSP, but it's not enough. Hell, if they had managed just to eliminate null, I'd be all over this language. But alas, they failed.

8 Name: #!/usr/bin/anonymous : 2009-12-03 04:35 ID:Heaven

I don't even think Go is better than any C-like language existing now. It's just different, and the differences aren't significant enough except in terms of syntax to make Go relevant in the slightest.

With any luck this nonsense language will fade away.

9 Name: #!/usr/bin/anonymous : 2009-12-09 19:53 ID:pbkTtVrn

>>8
or they try harder and finally implement some features we are all still missing in almost all languages!

10 Name: KnowItAll : 2009-12-13 00:25 ID:+fsnMmW6

>>9
Those features are already in lisp.

11 Name: #!/usr/bin/anonymous : 2010-01-06 17:30 ID:qMXR4DN6

>>10

> almost all
This thread has been closed. You cannot post in this thread any longer.