Can Self-Writing Software Put Software Developers Out Of Play?
The implementation of Machine Learning and artificial intelligence is progressing at a rapid pace.
Even though Machine Learning algorithms can be of great help in the automation of tasks, many developers are concerned about the acquisition of the "Self-Writing Software."
This software could theoretically ensure that there are only a handful of software developers who maintain this algorithm.
Today's programmers and software developers could lose their jobs using this technique.
Is it really possible to replace a human programmer with a self-writing algorithm?
To find out whether these techniques and technologies can actually be used in the future and whether they can replace a person as a software developer, I ask the following sub-questions:
- How does artificial software writing work? (technically)
- Are the techniques powerful enough to develop software independently?
How does artificial software writing work?
For 60 years, people have tried to make self-writing software. The problem is that when you write a program that has to write a new code, you have to be very detailed, and you might as well start writing the code yourself. (BOYD-RICE, 2018)
According to Kevin Scott, there are actually frameworks and techniques to have your code written by an algorithm; this often works well for simple tasks. Still, when the tasks become more difficult, longer, and more complicated and the explanation that is given becomes vaguer, you see that it sometimes has a hard time.
In this video, Kevin Scott demonstrates how he has a palindrome function written by A.I. in the Python language. (Scott, 2020)
Here's how it works: According to Kim Martineau on the MIT blog, a Machine Learning model is trained by scanning and studying millions of sample code and then using it to write short but powerful programs. (Martineau, 2019)
Are the techniques powerful enough to develop software independently?
That same piece by Kim Martineau talks about a program called Sketch. Sketch is designed for schools to automatically assess programming homework and convert hand-made UML diagrams into the working code. This program was later renamed SketchAdapt, which uses a Deep Learning algorithm to determine the ideal code.
Maxwell Nye, a student at MIT's Faculty of Neuroscience, says these programs are only capable of writing short programs. When larger programs are made, greater computing power is required. Nye also says that these types of tools are meant to supplement programmers and not replace them. (Martineau, 2019)
So, based on this information, I can conclude that the techniques are not powerful enough to develop software independently, given that they can only write short programs.
This research focused on the question, "Can self-writing software put software developers out of the way?" The following sub-questions answered this question:
"How does artificial software writing work?" This sub-question concerns the functioning of the self-writing software, how it is applied in practice. In summary, a "deep learning" model takes data from GitHub and uses this training data to produce code.
"Are the techniques powerful enough to develop software independently?" This sub-question concerns the quality of the techniques behind it and whether they can produce code that employees can get rid of.
Based on the past years' developments, I can conclude that the techniques can only write shortcode and cannot create advanced programs.
This means that the main question is that I can conclude that machine learning and deep learning techniques are powerful enough to generate short pieces of code but have insufficient capacity to create complete programs and software. Hence, in the next few years, the programmers will not be replaced by machine learning algorithms.
BOYD-RICE, J. (2018, April 25). New A.I. application can write its own code - Futurity. Retrieved from Futurity: https://www.futurity.org/artificial-intelligence-bayou-coding-1740702/
Martineau, K. (2019, Juni 14). Toward artificial intelligence that learns to write code. Opgehaald van MIT News: https://news.mit.edu/2019/toward-artificial-intelligence-that-learns-to-write-code-0614#:~:text=A%20new%20program%2Dwriting%20AI,to%20fill%20in%20the%20details.
Scott, K. (2020, Mei). The future of tech, with Kevin Scott and guests // Microsoft build. Retrieved from pscp: https://www.pscp.tv/Microsoft/1OyKAYWPRrWKb?t=29m19s