Earlier quoted context omitted.
I think the way Go treats coding styles is great. I don't have any problems following a one true convention enforced by the language and being aware about the minute details of code structuring in order to avoid problems in translation. Funnily, the language that taught me all that was Python. As willvarfar points out, I feel Rob Pike is being disingenous when he talks about this. Golang uses less significant whitesp…
This seems like a logical fallacy. Of course you have to separate your language's tokens with something. This is not "significant" whitespace. It's token delimiters, and they don't generally need whitespace. for example func(){return 1} has no whitespace between func and the open paren, also func (){ a := 1 return a } while ugly, this still compiles just fine. It would compile just as fine if you randomly flipped som…
def my_func ( ) :
a = 1
return a
It will run without a problem because only leading space is significant. Then you can mix tabs and spaces, add the space you want, blank lines, etc.The Python coding style guideline (PEP 8) is very specific in that it recommends the use of 4 leading spaces per level. You can use a very simple program with regular expressions to solve any problem you could have in the mix of tabs and spaces in your files.
Now, try this example in FORTRAN.
parameter(x=2)
print*,"The parameter is ",x
Why can't I use commas or parentheses to delimit all the tokens in Go? Why does it insert semicolons without asking? Is such an arbitrary and problematic decision as the significant leading whitespace in Python.