LWN.net Logo

GCC 4.6.0 released

GCC 4.6.0 released

Posted Mar 29, 2011 21:26 UTC (Tue) by cmccabe (guest, #60281)
In reply to: GCC 4.6.0 released by jensend
Parent article: GCC 4.6.0 released

I take issue with that article. Despite spending so much time on things like syntax, he doesn't write code in the Golang style, which is 4-character indentation and cuddled braces. This is more than a minor issue, because whitespace is significant in Go. For example, this won't compile:

if (foo)
{
}
else
{
}

It has to be written this way:
if (foo) {
} else {
}

Yet his examples are all written out with the former style of braces, and Ruby-style 2-space tabs. So it's clear that he's hardly used Go at all.

After spending all this time obsessing over syntax, he glosses over the major new things in Go with this breezy paragraph:

> Go has more in the way of actual features --- interfaces, channels, maps,
> defer , fallthough , proper closures --- but Brand X is more consistent
> with its features

Yeah. Who needs good support for concurrency, proper error handling, closures, and a radical new type system. Algol-68 has "while" loops, and that's *important*. It also has the "pleasing symmetry" of having an explicit keyword to put things on the stack, much like C's useless auto keyword. Oh yeah, and there's "nothing new" in Go, except for that stuff that I just ignored.

Meanwhile, Algol-68 "also has threading, but the mechanism is unspecified."

Accusing Golang of not being "consistent in its features" is a bizarre conclusion. If you've used any langauge from the past 20 years-- C++, Java, Perl, PHP, or Javascript-- you will find Golang much more consistent than any of those. (I don't know Algol-68 well enough to make this kind of esthetic judgement, though.)

In summary, he obsesses over Go's syntax, gets even that wrong, and completely ignores the major challenges facing modern programmers: i.e. effectively dealing with parallelism and building large-scale object oriented systems.


(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds