A new paradigm of Software Engineering

In this Blog Post,  Andrej Karpathy Director of AI at Tesla talks about a new paradigm of software engineering which he calls software 2.0. In it, he talks about software 1.0 which is the manual kind of programming we have been doing till now and software 2.0 as the automatic means through which we solve problems traditionally in the domain of software 1.0 with optimization algorithms like back-propagation.




The beauty of the article is that at the end of it he talks about the limitations of the Software 2.0 paradigm which has a lot to do with the fact that we don't really understand what they are doing and thus their failures are harder to predict. 

At the end of the article, he talks about how software 2.0 will take us to AGI. My opinion on this is that there is a still a wide class of activities that can only be performed with Software 1.0 alone and software 2.0 should actually be called software 1.5 because it is a subset of software 1.0, not a new independent thing. 

When designing "software 2.0" stuff like neural networks, we usually use software 1.0 tools like for loops and if-else decision-making stuff, which makes software 2.0 actually software 1.5.
In my opinion, the real software 2.0 systems are actually fully automatic programming systems that take a simple human request and produce a full program as the solution that might include aspects of software 1.0 and software 1.5.

These systems that will enable us to perform automatic programming are the kinds of systems that will lead us to create AGI like stuff but they will still be programmed but not in the way we currently perform programming. Rather than stating explicitly how to solve a problem by writing a program step by step, we will just state the nature of the problem in some formal problem description language and the full stack of technologies below including the neural networks and if-else stuff will be generated automatically. The challenges in these times will be more about properly describing problems rather than stating the solution in code.

A nice and inspiring article overall, read it at the link below. What are your opinions?
Software 2.0 by @karpathy https://link.medium.com/SBYuFnmDHT

Comments

Popular posts from this blog

Software of the future

This powerful CEO works remotely, visits the office only a few times a year

Nigeria and the Computational Future