|
Turing reportedly believed that programming would require “a great number of mathematicians of ability”. I think if you want to find a trend in computing, it's the same as the progression in other industries. Tooling replaces raw ability, technique replaces skill, and jobs requiring skills are slowly replaced by jobs that don't require skills. Consider Go, for instance. There's no doubt that the opinionated, overly-controlling compiler, absolute minimalism, and conventional structure of the language is designed so that a mediocre programmer can produce passable code. A good programmer doesn't really need gofmt, or a compiler that tells them off for not properly commenting their code. Good programmers don't tend to abuse generics or lambdas or all the other things Go doesn't have. So what it does, compared to C++, or even Java, is allows you to employ less experienced, less skilled programmers, and equally, to expect them to actually be productive, and not to produce morasses of unreadable gibberish. Don't get me wrong - I like Go. But if C was the only language in town, there's no doubt you'd need more programmers, they'd have to be better trained, and their job security and compensation would be better. |
That's a little unfair, if accurate. Even the best of us are mediocre programmers when fixing a bug in the middle of the night or diving into a new code base.
You might as well say (and some do) that Haskell is for mediocre programmers because good programmers don't make type mistakes.
> a compiler that tells them off for not properly commenting their code
Are you still talking about go and if so would you mind sending a link because as someone who has written it professionally since pre-go1.0 and contributed multiple changes to the go repo I haven't the faintest idea what you are talking about.