Certainly not all. "=" is a poor choice for assignment as it has a totally different meaning in maths. Algol and Pascal got this right with ":=". Fortran got it wrong here.
> plus '=' is used for assignment in math just as often too
No it's a relational operator in math, so "x = x + 1" does not have the same meaning as assignment to a mutable variable.
A lot of style guides even had to include guards against the worst one:
‘if (variable = “string”)’
I think that putting guardrails there by making the assignment operator stand out was a smart move. Annoying to use, but smart.
More intuitive to complete beginners and definitely not unheard of.
In mathematics, I have seen both `:=` and `\equiv` for assignment. But Go and Pascal also use `:=`. Of these, I would consider Go quite widely used in the industry.
POSIX `[` is clearly insane so let's ignore that.
Which leaves Pascal and OCaml both of which are quite niche.
I think he's right. It's definitely not worth going against the grain with this syntax, and it's debatable if it's even that bad in isolation. I seriously doubt beginners struggle with it.
Yes there is - because almost every language uses the same convention, and it's a totally reasonable one. You have to have a really good reason to go against that and I don't see one.
> Go itself deviated from them
Go didn't deviate from the C convention. It just added an extra shorthand operator to simultaneously declare and initialise variables. The meanings of `=` and `==` are the same in Go as in C.
> or "clearly insane" to you
I wasn't saying the use of `=` for equality is clearly insane. `[` is clearly insane for other reasons.