I mostly agree. Apart from: "not learn it properly, and then pick holes in its various inconsistencies or flaws". Flaws may be subjective, but inconsistencies aren't. If you find two similar things provided by default, with very different behaviour then it's not a case of not knowing the language. It's inconsistent and that's a problem in one way or another.