Coding or Programming: Just semantics?

Visual and text programming

‘Coding’ or ‘programming’, what do you call it? It’s one of those ever bubbling debates in digital education circles, when someone learns to control a computer using language (rather than just pointing and grunting) , what do we call it?

Some people don’t much care, others are sticklers for the detail. Personally I tend to err towards ‘programming’. To my mind it is a more precise term, and as Grayling so eloquently puts it ‘Clarity of language is clarity of thought’. It can get a little confusing though as you delve a bit deeper.

Writing some HTML and CSS to display content on a web page isn’t really programming, the end product is some static content and not a program. However, typing some arcane (to the uninitiated) strings of text and gaining a deep control of how a computer displays your content can be a powerful experience of what Mozilla’s Mark Surman calls revealing ‘the Lego lines’ in the world. It seems un-problematic to me to distinguish this activity as ‘coding’, separate from ‘programming’. Unfortunately for those of us concerned with clarity of definitions (but fortunately for web users), people have long since invented ways of integrating the kinds of interaction and dynamic responses into web pages that at first were reserved for programs. Now our web pages often involve what in my understanding would be described as programming.

My experience is largely from self learning and working in education, but Sylvia Martinez gives a very clear view on this from the perspective of someone who has also worked in the industry:

Programming a computer meant designing algorithms and creating the machine instructions that would react to the real world, do complex math or data manipulation, and output results.


Way back when, it was pretty simple and making websites was called scripting or coding.

She goes on to say that at some point websites got more complicated and these terms merged, something we just accept. I’m not so sure. I think it is important people involved in education to have a clear understanding of the different types of activity that sit within the subject of Computing.

‘Coding’ seems to be the language that has gained traction in the media, a lot of popular discourse and some policy discussions. As I’ve written, ‘Coding’ as described above can be a great way in to the world of computing, and it’s certainly a skill, but it is in isolation quite some way from opening up the potential of giving machines ‘instructions that would react to the real world, do complex math or data manipulation’.

There are a lot of things that young people can do with what I would call ‘Coding’ that look impressive to uninformed adults, but the ambitions we have for what they could really achieve and understand could be a lot higher than this. Sometimes the results might look less polished too, but what’s important is the power of the ideas they are engaging with and learning to use and manipulate. I’m not knocking coding, but I do think everyone should have an opportunity to engage with and learn programming, as this can make the difference between seeing the ‘Lego lines’ and actually building a moving Lego vehicle.

Is it a big deal that so many people talk about the entirety of computing and computer science as being ‘coding’? In some ways perhaps not. It’s provided a new term that seems of the ‘now’ rather than of the 1970s, and something that can be re-framed from an exclusive interest to something everyone can learn. I just think it’s important for us to see the Lego lines in the concepts we talk about and break them down even further as we continue to learn how we move everyone towards having enough understanding to flourish in our increasingly digital society.

If you enjoyed this post, make sure you subscribe to my RSS feed!
Annual Review for the Raspberry Pi Foundation
Digital Making - What is it?

Also published on Medium.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.