News and Insights

The future cooperation between man and computer

Technology continues to advance, following a path of exponential progress predicted with prophetic accuracy by the co-founder of Intel, Gordon Moore in 19651. In our lifetimes we are witnessing computers, machines and robots steady becoming smarter, faster and easier to use. As their capability increases, they are able to perform a range of tasks, both physical and intellectual, more effectively than humans, and more of our daily tasks are being simplified and automated.

Many highly respected firms2 predict that this powerful long-term theme will relegate much of the human workforce to obsolescence. So how should we humans prepare for this robot revolution, and perhaps more importantly, how should we prepare our children and our children’s children for the future?

Differentiate with soft skills

At the World Economic Forum last year in Davos3, Jack Ma, the founder and Chairman of Chinese internet giant, Alibaba Group, warned of the growing intelligence of machines and recommended that children should study creative arts and sports, to give themselves a unique edge to compete against computers in an increasingly automated world. He reasoned that artificial intelligence will inevitably be superior in repetitive, rule- and logic-based tasks, and therefore we should focus on what he described as “the soft skills” of human relations, communication, empathy and creativity.

In this Thematic Insight we consider his recommendation, but also look at an alternative path. Perhaps we might also need to learn to code, in order to speak the same language as the computers. We consider whether the combination of soft human skills together with the language of computers, may in the end prove more valuable.

Now that software lives in our pockets, runs our cars and homes, and dominates our waking lives, ignorance is no longer acceptable. The world belongs to people who code. Those who don’t understand will be left behind.

Josh Tyrangiel, Editor of Bloomberg Businessweek, in the introduction to "The Code Edition", Businessweek June 2015

Language = Code

While many of us speak more than one language, not many of us know how to write computer codes. In fact, estimates suggest that fewer than 0.3% of the world population are qualified as software developers4.

Figure 1. How many people can write computer code? “The number of software developers in the world”

Sources: Credit Suisse, Evans Data Corporation (2019), derived from https://www.daxx.com/blog/development-trends/number-software-developers-world on August 12, 2019

To some the idea of using a computer, let alone learning to write computer code, is a daunting task. However, in a sense we all speak in code. Language is after all a standardized set of noises or “words” which enable and facilitate communication. It is therefore a code.

The first words spoken by early man are according to linguistic5 theory quite likely to have been onomatopoeic; where sounds heard in the natural world may have been mimicked in order to convey meaning. As these sounds became standardised and established, they developed to represent more than just objects, but also to describe concepts and emotions.

Writing was a huge step forward for civilization since it allowed people to record speech. By converting speech into visual symbols, thoughts and history could be shared over long distances and kept through time, for prosperity over generations.

The same linguistic theory postulates that written words are also likely to have developed from graphical representations of objects seen in the real word. These words are therefore also code; commonly accepted patterns whose purpose is simply to represent real world objects and concepts. Belgian artist, René Magritte, illustrated this idea succinctly in his 1929 painting entitled, “Ceci n’est pas une pipe” (in English, “This is not a pipe”). The painting of the pipe is of course not itself a pipe; it is a painting; a visual representation of the object we know as a pipe6.

Machine code

In the same way that human language, both written and spoken is a code, computer language is also a code. The underlying language of digital computers is a binary or hexadecimal system which uses only "1s" and "0s". This is the 'lowest language' in software and is known as "Machine Code". This is the underlying instruction language of computers. In early computing machine code was used to build programs (typically involving long strings of code printed in reference books which could be copied manually to build the program).

As computers became more powerful, they have been designed to be easier to use and therefore more accessible and useful to more people. This process is often known as the "democratization" of IT. As a result, computer coders today no longer need to write programs in machine code. Writing in machine code is hugely complex. Instead programmers can use one of the many "higher level" computer languages (such as Python, JavaScript, C++, Ruby, etc) to write software. Some programming languages are more suitable for certain types of program than others and so the language may be chosen to suit the task, but all of them are significantly more intuitive than machine code. Computers run a program in the background, known as a "compiler" to translate the higher computer language back into the machine code that it understands. In other words, programming languages are translated by the "complier" into machine code so that the computer can execute the instruction set.

No code revolution

As computers become simpler to use, perhaps learning to write computer code will become obsolete, in the same way that programming languages have made knowledge of machine code unnecessary. Computers might advance to the stage where people who cannot write a single line of code will be able to tell the computer what kind of program they want to make. This idea is commonly known as the "no code revolution".

There are already a number of companies and open-source communities which have developed additional layers of software, simple user-interfaces on top of the programming language, to make the process of developing computer programs simpler, faster and less prone to errors. Most of these systems are known as "visual programming", where blocks of code are represented by simple graphics and these components can simply be dragged and dropped into place.

It’s just a matter of time until neural networks will produce useful code. So things are looking bleak for computer scientists like me.

Professor Dr. Christian Bauckhage, Fraunhofer IAIS

Closer to the 'singularity'

Thanks to visual programming and the no code revolution, it seems that learning to code may not be as daunting a task as we imagine. However, simplifying the task to write code on a very basic level, is unlikely to help the human work force in their quest for a competitive edge over the computers. What might happen if computers become so smart that they are capable of writing their own code?

Although currently at a nascent stage, computer engineers have long dreamt of developing algorithms to write code. "CASE" or computer aided software engineering, is software used to automate the task of writing and debugging software programs. CASE is one of the more established examples of software used to write software, or at least helping to write software.

Computer engineers are starting to push the boundaries beyond this. In 2015, Andrej Karpathy, a computer science Ph.D. student at Stanford, used 'Recurrent Neural Networks' to generate code. He is now Director of A.I. at Tesla. More recently Microsoft and Cambridge University developed "DeepCoder", an algorithm which uses deep learning techniques to generate code.

Beyond these efforts and we are in the realm of Hollywood movies and science fiction. However, it is highly likely that computers will at some stage be capable of writing their own code, and the challenge for humans may be to understand that code once it is written, and then to control it.

Perhaps computers can also learn to be more human

If coding becomes so simple that we can all do it without much more effort than using an app on a smartphone, perhaps we had best take Jack Ma's well intentioned advice and focus on the soft skills of creativity and human interaction.

This path is however, not without risk. Computers may after all be able to learn the soft skills as well, if not better, than humans. This raises a philosophical question which we will not attempt to answer here, as to whether humans are innately born with creativity and artistic talent or whether these skills are learnt through practice and experience. If these skills are in fact learnt, then why should a computer not also be able to mimic, copy, adapt and learn subjective notions of “beauty” and soft skills of empathy and creativity?

Picture 1. Extract of "TheNextRembrandt", 148 megapixels 3D printed in thirteen layers, paint-based UV ink

Source: Open culture (2016): Scientists Create a New Rembrandt Painting, Using a 3D Printer & Data Analysis of Rembrandt’s Body of Work, derived from http://www.openculture.com/2016/04/the-next-rembrandt.html, last accessed on August 12, 2019
With kind permission of J. Walter Thompson Amsterdam to use this picture (Picture extract only).

A number of teams have already developed artificial intelligence engines to master the soft skills. In music for example, AIVA7 and OpenAI’s MuseNet have used artificial intelligence to compose a range of styles of music with great success. Similarly in fine art, a team of computer scientists at the Technical University in Delft8 used algorithms and facial recognition technology to analyse all 346 of Rembrandt’s paintings, to create what the team has called, “The Next Rembrandt”. The painting is not a copy of a Rembrandt and, as their homepage explains, the person in the painting has never existed. It is in fact a new painting based on the detailed analysis of the style of Rembrandt's work. In other words, if all Rembrandt paintings were a series, this artificially created painting might be the next painting in that series, based purely on analysis of colour, pixels and the position of all the elements.

Conclusion

Although technology and innovation have changed the shape of the workforce over thousands of years, there are reasons to believe that this time, in the digital age, the impact will be faster and more wide reaching than before.

As the global economy evolves and the value of different skills change, the question of what our children should study to maintain an edge is not easy to answer. Rote learning and memorizing facts is likely to be less valuable, since the internet gives us infinite factual knowledge at our fingertips. Likewise computers and robots are increasingly capable of performing not just physical repetitive simple tasks, but also cognitive tasks and variable tasks requiring the ability to respond dynamically to changes autonomously. Therefore perhaps focusing on the soft skills of human interaction and art, is the safest choice. However, here too artificial intelligence appears to be making inroads.

Rather than worrying about the workforce becoming obsolete to technology, perhaps the spread of technology and automation will itself create the need for a massive workforce of people to service, support and maintain it. Technology may also facilitate education and training of the workforce for new roles in a cost effective and engaging manner. Alternatively, a benevolent super-intelligent computer may design perpetual energy systems and ways to feed and support the world population sustainably without the need for work. Whatever the future holds, it is likely to be as dynamic as it is challenging. We believe that robotics and automation are likely to continue to proliferate our daily lives and this theme represents a powerful long term opportunity for patient investors.