On Friday, 29 November 2013 at 16:15:10 UTC, Chris wrote:
I agree that D, too, can be a bit confusing. I sometimes have problems with AA declarations.

Example:

string[string][string] hm; // What am I?

But I don't think it's the reading direction.

Actually it is. D is pretty good about being consistently read backwards (which, as you can tell, is a tiny bit awkward, hence why I think "the other way" is better).

hm is an associative array mapping string to another associative array mapping string to string.

Pseudocode:
hm [string][string]string;


How about something *ridiculous* in right-to-left reading:

rofl *[string][]*bool;

Try to read that before seeing what's below:

-----

rofl is a pointer to an associative array mapping strings to arrays of pointers to bools. Very simple and very intuitive. After reading a few things like that you become very comfortable with it.

I wonder why you would want the variable name first.

It's really irrelevant either way, but it "reads out loud" much better in my experience

For my liking Go code looks too cluttered (pointing out the obvious). But I guess it's just the way you're "brought up" with a language. Maybe I'm a dinosaur.

I'm not suggesting Go got it perfectly. I've seen a lot of languages that have cleaner declarations, IMO. To be honest, Go looks kind of cluttered in my eyes too. But the right-to-left reading order is something I'm a very strong proponent of. I'm fine with D, however, since you can usually reliably read it backwards. C, however, is a horrific mess.

Reply via email to