• Let me play the devil's advocate by disagreeing.

    Only a few decades ago, to operate a motor vehicle (at the time the most complex device known to the general public) you had to know quite a lot about the workings and operation of your vehicle to operate it safely and keep it running. Cleaning your carburettor, setting your plug gap, changing the oil were routine tasks that required some 'education' to accomplish.

    Not so today. And in a few short years even driving skills will be needless as fully automated cars deliver us quickly and safely without our input.

    In cases you haven't noticed, today's smartphones and tablets are routinely being operated by 3 year olds.

    We don't need more or smarter programmers. We just need tools that allow a business manager or analyst - or game developer - to meet their needs without getting their hands dirty with code. (Such tools exist, I've used one successfully for 20 years.) Once there was a performance penalty to pay but these days resources are cheap and almost limitless.

    After all the SQL language was an early example of such a tool! Its purpose was to allow non-programmers to manage and report data, something that was virtually impossible for them until then.