Why programming will disappear?

Thalapathy Krishnamurthy
5 min readFeb 25, 2020

--

We express our thoughts in a human language like English. However, when we need to solve a problem with computers, the problem in our head, say you want to take attendance of students in a class or you want to buy a smart watch online, needs to be translated to a machine understandable language like Java with which you can describe how to keep your data in a variety of structures and use some rules or logic to process that data.

The real world problem we wanted to solve is way too far off from this representation of the problem. In real world, we just want to count Apples. In the machine world it is about an Array and Loops to go over the Array. When we go beyond counting Apples or the Hello World into more complex needs, the machine translation becomes murky and chaotic. We need hoards of programmers who can peer into parts of an obscure syntax and make sense to keep the Jigsaw puzzle of software from falling apart.

Object oriented programming brought in the notion of an ‘Object’ to represent real world physical things and abstract any ‘thing’. It allowed the Object to expose itself with the real world characteristics of that physical thing as triggers or actions resulting in changes to the object. This was thought to bring the whole dialog of the machine world closer to the human world. So to represent a ‘Car’ in real world, we say it is an Object in the machine world and the characteristics or actions a Car can perform like ‘Drive’ or ‘Stop’ can be actions that can be triggered on that Object. The Object notion only helped to abstract every real world phenomenon as Object and hence could result in hiding the underlying data representations that make that Object. It definitely brought a more human face to an otherwise harsh world of programming. It enabled to represent a Car in the real world as a Car Object in the programming world and hide all the ugliness of the data structures and processing of the actions of the Car within that.

If only the programming world built on this notion and whenever a Car was ever needed to be represented by a program anywhere in the world, we could have simply pulled the ‘Car’ object say from a library in Git and it would satisfy all that we ever wanted out of a Car in our code. But this is not quite sufficient to describe the real world notion of a Car, no matter how far we go into adding everything we know about a Car into this Object. The reason being real world knowledge is not in isolation. It is interconnected with a lot of other things. For a human, a Car is connected in so many ways. It is not just a machine that transports people, it has connections with roads, with cities, countries, seats, engine, buses, traffic, fuel, Uber, oil prices, Gulf war, Ford, Elon Musk and so on. So it is almost impossible to describe a Car by simple rules or data structures.

Then how do I make a machine understand a ‘Car’ the way a human understands it? If we train a Neural model on various things about a Car, it would be able to probably connect all the pieces. However is it the same understanding that a human has about a Car? The Neural model is just a piece of memory with connections and weights that gives the neural pathways or rules to classify the image of a Car or answer questions related to the concepts of a Car that it was trained on.

Even if we agree that our brain does something similar to identifying a Car when we see it or when we encounter concepts around the Car in our every day conversations, that is just one part of knowledge of a car. The actual experience of feeling a Car, driving it or seeing the parts that make the Car, Sitting inside it and feeling the space, the speed, pressing the gas to accelerate, the legroom inside, the scenery outside as we drive, the rain falling on the windshield, controlling the steering, parking it, getting out of it is something that the Neural model can never get unless it is fed with all of this knowledge.

The Neural models are only as good as what we feed it. While we can make it look like a gigantic memory of sorts and even allow it to create and answer unexpected things with the infinite neural pathways, it finally boils down to the question of how can we feed everything we know and experience in the real world into it ?

If we take a step back and question ourselves as to whether we were fed with all the knowledge of a Car that we know so much about it? The answer is not totally an Yes. Even for someone who has never experienced a Car in their life, they can be made to imagine such a thing with what they know already. We can tell them it has Seats to sit and it is placed on Wheels to move forward and extend their ideas with pictures or videos of a Car and show the seats and wheels to make them imagine it. This can get them to extrapolate their existing knowledge of space and motion or time onto a new Object. This means we need to train our models with the basic ideas of Physics of space, motion, energy, the Math to abstract and compute their motion in time, the chemistry of Solids that make that and the Biology of living and non-living things that travel in that. This is our fundamental structure that makes us learn by extending our existing knowledge.

Teaching the models the fundamental sciences and language like the way a kid goes through school is the only way we can build machines that are generally intelligent like humans and eventually do away with the need to program them with machine languages and converse with them in a human language like English. This will do away all the need to program computers in general using obscure machine instructions ever. It appears like we are eventually heading there.

Of course, these machines will still lack what we call as Self awareness which humans possess and Self unawareness a.k.a Ego which drives this crazy world that eventually will lead to the creation of such machines. So we can be rest assured that these machines will still be humans but without a Will of their own. Evolving machines beyond this to have a Will of their own will not only get rid of programmers, but humans themselves.

--

--

Thalapathy Krishnamurthy
Thalapathy Krishnamurthy

No responses yet