The confusing language around programming languages

The language of technology is all around us - but writing about programming for a non-technical audience isn't without potential problems. Max Harlow and Lindsey Dew explain

Max Harlow, Lindsey Dew

Published on Friday, 16 March 2012

Programming  

Coffee
Coffee Photograph: David Levene

With the rise in the importance of technology in everyday life, a certain amount of technical vocabulary has slipped into common language – words such as URL, spam and MP3 are understood by most readers, even if the detail of the underlying concept is not. But as with any specialist subject, we can’t expect everybody to understand the vocabulary of our domain.

In the Observer New Review the Sunday before last, you may have read a short overview of Codecademy, a website that is trying to teach beginners to write JavaScript. If you are a developer and you read it online before it was corrected, you may have wondered how two developers seemed to conflate Java and JavaScript.

Here is what happened.

We submitted our article last Thursday. Coming in on Monday morning we were greeted with a pile of angry tweets, emails and missed calls about our flagrant mistakes. Checking online, it became apparent that during subediting JavaScript had been innocently shortened to Java, and Codecademy had been ‘corrected’ to Code Academy, a much more sensible (if incorrect) spelling. Whilst changing this company’s slightly peculiar name is perhaps understandable, Java and JavaScript could not be more different. It is the technical equivalent of confusing Iran with Iraq and then hoping to be taken seriously in an article on the Middle East.

For those of you who aren’t developers, Java is a programming language for developing software, and JavaScript is another entirely different language often used to create interactivity on web pages. Although the mistake in our article has been fixed now, it certainly would not have been the first time these kinds of misunderstandings have been made. Especially since in the technology world we like to do such strange things with language.

Firstly, we reuse words to describe different concepts, especially inside programming languages. A class in CSS is used to define a visual commonality of perhaps otherwise unrelated elements, but in languages like Java a class represents something completely different.

Then there are the names that have nothing to do with what they represent at all. Android has given its products a confectionery theme with Ice Cream Sandwich, Gingerbread and Cupcake. We also have programming languages called Pizza, CoffeeScript and a testing framework called Cucumber. Even the name for Java is connected to a beverage, an American slang word referring to the Indonesian island famous for its coffee.

Then there are acronyms. We are so keen on acronyms that we even use acronyms within acronyms. Take SPARQL – the query language of the semantic web. It stands for “SPARQL Protocol and RDF Query Language”. We have got it all here. It is recursive, with the S standing for the acronym itself; it includes an A for “and”, despite English language convention not to; and the R stands for another acronym – RDF, the Resource Description Framework. Unnecessary and confusing, they should have just called it “Sparkle” to begin with.

These words though are the basis of how we technical people communicate with each other – without them we would struggle to carry out our day jobs. As technology becomes more important to the world around us, words that were once the preserve of specialists are being used in the mainstream.

The idea that a national newspaper such as the Observer would publish an article about a programming language is itself remarkable – you would not have to look very far back for such an idea to be unthinkable. So it is perhaps easy to forget that for those unfamiliar with the world of technology, this stuff is hard. As technology becomes more integral to our daily lives, it is likely that we will encounter more of these kinds of mistakes in mainstream reporting.

Continue reading

Calling passionate software developers Developing the Google TV app in Beta