The Silver Bullet That the Software Industry Has Been Waiting For

5

October

2022

5/5 (2)

Hardware is one of the fastest improving sectors in the technology industry. Over time, our computers are decreasing in price while their speed is increasing exponentially. This idea is otherwise referred to as Moore’s law. However, where technological hardware has seen six orders of magnitude price-performance gain in 30 years, software improvements are lacking behind (DBA lecture 1, 2022). It is not that software improvement is slow, but rather that hardware improvements happen relatively very fast. Fred Brooks (1987) emphasises that there is no silver bullet for software development that promises to deliver price-performance gains even slightly comparable to those seen in the hardware industry. Brooks writes that

“there is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.

However, that silver bullet might have arrived after all with the arrival of a new software development technique. GitHub Copilot is an extension to your coding environment that serves as an AI pair programmer. There are two primary ways in which it supports software developers. Firstly, it makes suggestions on how to finish code whilst it is being written. An example is displayed in image 1. When a software developer starts typing a function to generate random numbers (the line of code marked in colour), Copilot will recognise what the developer is doing and do suggestions on how to finish the code (the line of code marked in light grey).

Image 1

Its second primary function is to generate code based on a request by a software developer. Image 2 shows the request of the developer (the line of code marked in light grey), and the suggestions done by Copilot that have been accepted by the developer (the line of code marked in colour).

Image 2

Copilot’s two primary functions can help to drastically improve the productivity of software development. Processes that require simple and repetitive coding will be done in the blink of an eye as Copilot will be able to do such coding for software developers on request. However, there is more. Whereas the examples that I just discussed are simple, more complex possibilities lie on the horizon. Imagine software developers being able to request entire software projects, and that Copilot offers them the relevant code. As software projects tend to vary it is not likely that Copilot will be able to deliver the exact code that the developers will need. Rather, the code offered by Copilot then functions as the foundations upon which the developers can build their software projects. Having the foundations of a software project quickly upon request can likely prove to be the order of magnitude improvement that the software industry has been waiting for. In that sense, Copilot promises to be software development’s silver bullet!

Please rate this