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.

Reply via email to