Viewpoint: Computer code frees us to think in new ways
At the start of 2012, Michael Bloomberg, the mayor of New York tweeted: "My New Year's resolution is to learn to code with Codecademy."
And throughout the year, "learning to code" seems to have been a hot topic in the media.
Around the same time as Bloomberg's tweet, in the UK the Education Secretary Michael Gove was announcing plans to replace the schools ICT curriculum with a "computer science" programme.
Existing ICT courses often focus on "digital literacy" - teaching particular software packages such as popular spreadsheets and word processors.
The changes are an attempt to reach a more balancing sense of literacy - not just being able to "read" technology, by using it - but also to "write" with it.
And in computing, writing with it means exploring the world of programming: creating with computers.
To date the reasons behind the changes have seemed very skills-based, as if instilling particular skills will lead to growth in business and the economy.
Really, though, teaching about computers should go beyond mere literacy, beyond focusing on a particular set of skills, and emphasise the fluency that true innovation demands.Sculpting code
Fluency goes beyond reading and writing. A fluent speaker of a language begins to be able to think in idiom. Not thinking in English and translating into French, but thinking in French.
And so to be fluent, to be idiomatic, it is not enough to just learn the vocabulary of individual programming languages.
We need to understand how to have ideas that can be framed to suit the internal workings of computers - and the things they are best at. We need to be able to express thoughts "in computer". Those are the skills needed to innovate, to invent, with new technology.
Code is now a core part of the architecture of the world we live in”
Programming - or coding - is sometimes described as software engineering. But as you learn to think "in computer", it should become clear that not all programming is engineering.
A great deal of it is much more like sculpture. Data, technology, code, as a slab of clay, to be manipulated, explored, felt between your fingers, and slowly turned into something substantive.
It's practically the opposite of engineering. It's an artistic discipline: beginning with sketching and exploring, and then building on those sketches slowly through iteration, watching a final structure emerge.Computers as prosthetics
Of course, in reality, you require both disciplines: the art, and engineering, all at once. So perhaps architecture - a word that is also used in a computing context - is the better analogy.
Both aesthetic and rooted in physics, sturdy yet beautiful, containing both purpose and artistic intent. Code is now a core part of the architecture of the world we live in.
It both powers and shapes finance, business, and entertainment; it is embedded in our homes and in our pockets. And so "architecture" feels like the appropriate metaphor for the skills needed to master it: for architecture both shapes its inhabitants and is shaped by them.
It can't really exist without people inside it. And we can't separate code from people; from the people who write it; from the people who are shaped by it.
Which leads to a particular truth: we don't live in a computerised world; really, we live in a computer-assisted world.
We use computers and code as prostheses. Some are used as prosthetics for memory - expanding its capacity, allowing us to store more information, retrieve facts quicker. Some are prosthetics that function as exoskeletons: they amplify our capabilities.
It is easy to fall into the trap of using these prostheses to allow us to "do things faster".
Doing tasks quicker than we can do in our heads - arithmetic, for instance. Or, similarly, just using them as analogues for existing technology - word processing, for example, is not that different to a typewriter, conceptually speaking.Rocket boosters
The magic of these prostheses - the magic that lies at the heart of true innovation - is not necessarily just doing things faster. It is giving us the ability to think new thoughts.
Not thoughts we could have had before, but quicker; rather, thoughts we could never have without them.
We need more people who can think not faster, but think new thoughts.
The training that fosters that should be about learning to think in this new world; learning what is possible. Cultivating a sense of smell, and a sense of balance, to exist in the code-assisted world.
We will always need the engineers, but we also need the others: artists, journalists, politicians who understand the prostheses and exoskeletons of this digital world; of using the tools around them as rocket boosters to take us to strange and new worlds, not just more profitable ones.
Technology education, then, should not just be about teaching skills, it should really be about instilling a set of values. A way of thinking, taught as part of a broad, diverse curriculum.
And when Michael Bloomberg says that his New Year's Resolution is to learn to code with Codecademy, he's not telling us that he's thinking about a career change into building websites. He's saying something more profound.
He's saying: "My resolution is to learn to think in a modern way."
That, really, is what it means to inhabit the coded world: to understand what it means to use these machines to think with. This is what thinking has become in the 21st century condition.
This is an edited version of The Coded Word - a talk delivered by Tom Armitage for BBC Radio 4's Four Thought. It will be broadcast at 2045GMT on 26 December.