Some people think coding is not the future. One day – so the argument goes – I’ll be able to tell my computer to make an app based on some brainwave I’ve had, and the computer will program the app itself. I’ll just speak to the machine in whatever language I want. No need for me to learn coding or use algorithms or PHP or Java, or to know coding at all. Could this be the next stage in our relations with computers, or is this just a crazy pipe dream?
Tech columnist Kevin Maney, writing for Newsweek, takes the firm position that “learning a programming language could turn out to be fruitless for most kids”, and that by 2030 it won’t be needed. On what does he base this opinion? Computers are becoming more “brainlike”, he says, and should soon be able to understand us on our “our terms, not theirs”, because their processing power keeps improving. Dan Auerback in Medium draws the connection between software developers and 19th century telegraph operators, who received and transmitted messages in Morse code over telegraph wires, a job that ultimately became obsolete.
If you think about it, learning coding is really just learning computer-speak – but what if computers’ abilities to comprehend ideas or instructions improved drastically? Look how far things have moved already. John Backus, an IBM scientist, invented FORTRAN in the 1950s to communicate with computers, and now we have languages like Python, a popular programming language based on human languages.
And take MUSE, a project begun by the US military’s science lab, which aims to form a giant database of millions of lines of code, all tagged. The thinking is that somebody who knows nothing about programming can come along and just tell MUSE what to do. It will have enough examples of code in its databases to be able to assemble whatever program you want.
But, says The New Yorker, introducing a more pragmatic approach, computer scientists have been dreaming of such utopian fantasies for years and so far, it hasn’t happened. Here are some major obstacles:
We’ve had evolution but not revolution
Sure, there have been improvements in coding; we’ve got better debuggers, more libraries of freely available code etc., but the core concepts of coding have not changed. “Today’s young programmers still think in terms of algorithms and data structures, just as their grandparents might have. What information will my program store in memory, and how? What steps will the computer take to transform inputs into outputs? All programming is, and remains, on the machine’s terms,” states The New Yorker.
No meeting of minds
English is still beyond computers. Okay, there’s Siri, which understands limited English. It’s also more likely to understand you if you speak in an accentless, robotic-like voice – and it can be rather literal at times. However, computers still lack the precision needed for building software or apps from scratch via a human language.
Good programs are frequently not just combinations of existing code
A good programmer does more than just cut and paste different bits of code from a code library. Instead, a programmer ideally understands a problem more deeply and then creates the right architecture for solving a problem that hasn’t necessarily been solved before. It requires a deep understanding rather than a cut and paste approach. Lower level programming might become more automated. However, more complicated programming languages – and remember, there are always updates happening – are not likely to go anywhere soon. Read more Quora arguments here on this issue.
Computers don’t understand the external world
Computers, understandably, don’t understand how the external world works. This makes it difficult for them to anticipate how their programs will actually operate. Tom Dean, a researcher at Google says the following in The New Yorker: “Programming is (challenging for artificial intelligence) not because it requires concentration and attention to detail but because the path from the conception of what you want to accomplish to the realization of the code that actually accomplishes it requires artistry, insight and creativity as well as incredible mental dexterity.”
If you control the code, you control the world: learn coding
These are the words of Marc Goodman, a futurist interested in the intersection between science, crime and the darker side of technology. The point here is that the “ability to write code has become not just a desirable skill but a language that grants insider status to those who speak it,” says Wired. Such people have access to what one may call the “levers of power” and this is still likely to be the case even if computers become more adept at coding themselves.
It’s certainly possible that AI will bring great advances (and that many jobs will ultimately be automated); however, it doesn’t seem that if you learn coding, you’re moving towards irrelevance. Tim Cook, CEO of Apple, even suggests in this interview that French children should learn coding before learning a second language like English. Seems coding is going to remain on the cards for a while yet. In fact, have a look at this piece that says that the demand for developers continues to rise. If you are thinking about changing to a career in coding, you might want to check out some of HyperionDev’s courses