I haven’t worked with Go, but I do like the approach that Khan Academy is taking with JavaScript (I admit, I’m partial to JS), where they take a language that is expressive but obtuse at times, and then work from a style guide that removes the syntactic ambiguities and pitfalls.

For any language, you need a good compiler, but you also need a good linter which conforms to best practices. Different people may use different linters – just as different people may use different compilers – based on the best practices to which they wish to conform. This is an paradigmatic/organizational thing, not a syntagmatic/syntactic thing

I started with BASIC because it was there, and then was educated using Pascal, which didn’t make sense to me specifically because it *was* very explicit… as soon as I started working with C, things clicked, and I feel the same way about JS.

Scheme or Lisp are also very explicit, transparent and literal, and completely obscure to most people.