Computing, computer science, ICT, IT, programming — what do they mean, exactly? It’s not so much a problem of lacking any definition — it’s more a problem of having too many definitions for each term. What I mean by computer science is not what others mean by computer science, what I think of as ICT is not what you think of, and so on. This is inhibiting useful discussion of the various issues surrounding computing, because we are all talking at cross-purposes. And coming up with one golden definition of the terms that we can all agree on seems to be a fool’s errand. So what to do?
Well, let’s take an idea from programming (or is that computer science?). We are used to the possibility of name conflicts, and we tend to resolve the conflicts by introducing namespaces to disambiguate. So here’s the idea. When you want to be specific about terminology, and you mean Computer Science according to the Royal Society definition, you write Computer Science[RS]. (If you’re writing HTML, obviously you can hyperlink the RS to the definition.) If you mean ICT according to the Department for Education, you write ICT[DfE] and so on. That way, we can at least be clear which definition we’re talking about.
Stupid? Maybe. But I think we’re all getting fed up of arguing over whose definition we’re using. Make it explicit: use a namespace.