The ‘JSON’ creator, Douglas Crockford, recalled a joke from his 2018 book ‘How Javascript Works’ in an interview with AIM: Two men are trying to drive a stake into the ground. One of them has a hammer, and the other says, ‘when I nod my head, hit it with a hammer’.
“Those sorts of misunderstandings happen in English all the time. If they’re going into machines, which will affect the lives of people, we can’t afford that level of comedy,” he said while commenting on the trendy phrase, ‘The hottest new programming language is English’.
Crockford, one of the developers of JavaScript and the brain behind the JSON format, is worried about English as a programming language “because it’s so ambiguous”. The Roman language has been largely advocated for programming through natural language via AI chatbots.
Crockford disagrees.
He clarified that the fundamental law of programming is that the program has to be perfect. “It has to be perfect in every aspect, in every detail, for all states for all time,” the 70-year-old retired programmer said. He further elaborated that if it isn’t, the computer is licensed to do the worst possible thing at the worst possible time. “It’s not the computer’s fault, it is the programmers’ fault,” he noted.
Over the history of programming languages, we’ve been trying to develop ways of expressing algorithms and procedures, which are less likely to be misunderstood or do bad things. English is an awful language for trying to do that because it’s not specific enough, the JavaScript guru emphasised.
Historically, English has been criticised particularly for its complex spelling system. The stupid and oft-misunderstood language can be used to communicate among humans, but the scenario is not the same for machines.
Crockford explained that when we’re “trying to communicate with computers, there is no room for understanding” because the AI does not grasp the context of conversations. “We have to be exactly perfect in our expression and natural languages are not good at that,” he said in response to why he was sceptical of using English for programming.
JavaScripting AI
As a core part of the web, the dominant mode of accessing the internet, JavaScript is arguably the most essential language in the world, said Crockford. Even though it is huge, the three-decade-old language had nothing to do with AI. The veteran programmer believes that the success of JavaScript was completely independent of AI and vice versa.
However, with generative AI entering the scene, things can change. Crockford pointed out, “We’re still in the novelty phase. People are interacting with it for the first time.” But, companies have already claimed a list of reasons why and how generative AI will revolutionise programming skills.
In the 90s, there was a technique of programming called pair programming where you’d have two programmers working together, Crockford recollected. “That seemed very effective because when you check (others’ work), you tend to get a very high quality at the cost of doubling your personnel,” he said.
Crockford does consider that (maybe) AI can replace one of those programmers in the pair and so you can get a similar level of quality at the cost of a single programmer. “That’s not been proven yet, but it seems likely that something like that is going to work,” he pictures.
Tech companies have stirred out several AI-powered platforms and people have been using them – even the ones who point out its problems. Be it Amazon’s CodeWhisperer or GitHub’s Copilot, these tools built on generative AI models are here to stay. However, their usefulness remains theoretical.
The Open Source Act
Generative AI has put open source back on the list of important subjects of discussion for everyone, from unicorns to lawmakers. The root problem is the patent system, Crockford highlighted. “If the patent system worked correctly with respect to software, open source would not be necessary,” he simplified.
The author of the ‘Good, Not Evil’ licence confidently believes that the idea of owning an algorithm should not be possible, but under current law, in the US and many other countries, it is. “Patents can be awarded after people become aware of inventions,” Crockford suggested.
“It is dangerous, so we’ve come up with open source licences. The not-so-effective patent system is an attempt to mitigate those problems,” he explained. Crockford firmly believes “the system is still lacking and should be reformed”.
In conclusion, he said: “We should assume that anything that can be represented in software, can obviously be done through software. It should be possible to patent something that uses software, but the software component itself is not patentable. If we had that reform, then a lot of these problems would disappear.”