You misunderstand me. I don’t use the simpler products because otherwise I worry about my own intelligence. What I found was that in order to protect my ego, and because I thought I was smarter than I was, I consistently used software engineering tools and platforms that were complicated to the point of hurting my ability to program.
I will remove Go from the above post because I think it doesn’t fit; I dislike Go’s genericless type system because it constrains my programs and not because I’m thinking about it all the time. With regard to “well-typed” programming languages, the problem isn’t that they don’t help me write more correct code—they do. The problem is that they make me think about types to a degree that’s often unnecessary or irrelevant to solving the problem at hand, and while performing exploratory programming I have to deal with these type algebras that are a context switch from my ML or infrastructure problems. Most bugs are problems with semantics and not syntax, so normally thinking very hard about types turns out to be wasted effort in the long run.