Gary Willoughby: "Why Go's design is a disservice to intelligent programmers"

Laeeth Isharc via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Mar 25 19:04:25 PDT 2015


On Thursday, 26 March 2015 at 00:19:44 UTC, Jakob Ovrum wrote:
> As I know Gary is sometimes (often?) on these forums I'll post 
> some critique here. Misrepresenting Go in a comparison with D 
> doesn't reflect well on the D community, so please have a look 
> at the following issues:

You describe these as issues forming part of a critique and 
suggesting the substance of what he wrote is wrong, but are these 
substantive in the context of a quick blog post (where it is more 
important to say something generative than to be perfect in its 
expression).

I don't claim to know Go, but is his basic point off the mark?

> In the first code example, the Go version returns 1 on failure 
> and 0 on success, while the D version always returns 0. Also, 
> the Go version correctly uses stderr for error messages while 
> the D version uses stdout for everything.

    stderr.writeln(text);
    return 1;
correctness is important, but does this change much?


> In the second example maybe you should print four lists to be 
> equivalent of the Go code. I think it's misrepresentative to 
> shorten the D example by making it do less work.

surely people can see beyond a difference of three lines ?  would 
this change his point?

>> auto text   = source.byLine.join.to!(string);
>
> This is not safe as byLine reuses the same buffer for every 
> line. It may or may not work depending on join's 
> implementation. Also, it's idiomatic to omit parantheses when a 
> template argument list consists of a single token: 
> source.byLine.join.to!string;

fair point if true (I will let others who know better say whether 
.array. or something is needed).
>
>> With all that said, I honestly think Go’s design a disservice 
>> to intelligent programmers.
>
> s/design a disservice/design is a disservice/

What he wrote is correct English, and he is an Englishman living 
in England.

>>I guess by now Go programmers reading this will be frothing at 
>>the mouth >>shouting “Your doing it wrong!”.
> That could be misconstrued as a jab at the intelligence of Go 
> programmers, which I don't think serves your cause.

Again, nobody English would think this was more than mildly 
humorous (and by no means insulting).  To suggest somebody is 
rabid is not to insult their intelligence, but merely to tease 
them about their likely strong emotional reaction.

But what is one to do when making the trade-off between being 
blandly corporate and acceptable to everyone, versus writing with 
some character and spirit and offending the sensitive.  It's a 
personal choice, but not easy to criticize another for theirs.

I personally find the world too bland these days.  One cannot 
police the forms of expression of people who do not speak for a 
community or claim to be acting as such (apologies if I am 
mistaken and he does have an official position within D).  And 
perhaps one ought not to try.


Laeeth.


More information about the Digitalmars-d-announce mailing list