Blessed Syntax and Ergonomics

16 points by gingerBill


Loup-Vaillant

C++ sadly does not make a distinction between [lvalue access] and [assignment], and has heavily suffered from this poor decision.

Wait a minute, what’s the problem with that? Call me naive, but, with lvalue access from the array, and assignment from the element, I should have all I need, right? I sense you have important use cases in mind, I’m guessing around performance, but I have no idea what they might be. Could you explain?

typesanitizer

Enforcing coding styles at the language-level rather than having it be a secondary vet pass

I can't tell if this is meant to be a tongue-in-cheek reference to go vet (which is essentially an optional linter): https://pkg.go.dev/cmd/vet

There are also a large number of third-party linters which are crowd-sourced (https://golangci-lint.run/docs/linters/). When you have hundreds of devs, you're going to enable some (in some folders only?) and not others. That list is going to vary from company-to-company, and maybe even folder-to-folder, depending on how much progress the associated cleanup made before the person who introduced a linter left the company.