When you imagine the process of creating a computer program, you probably imagine a room full of caffeine-fueled developers hastily coding on expensive computers in an open-spaced office with exposed brick walls and designer lighting. That scene is set to change in the future, however, as the world of coding advances further towards a future where the elementary parts of coding are left to the computers themselves.
This is the basic promise of machine learning, which is a fundamentally different discipline to what most people would consider coding.
Defining Machine Learning and Applying It to Coding AI
In today’s technology environment, software engineers develop programs that complete tasks by following a logical set of instructions. Those instructions “the software’s code” contains all of the information the program needs to fulfill its function.
Machine learning, however, is different. Instead of writing a code that tells a computer exactly what to do, machine learning uses a layered system of rewards to train computers to come up with the most efficient method for achieving tasks on their own.
Look to HBO’s popular TV show Silicon Valley for an example of this technology in practice. At one point, the show’s characters develop an app that identifies hot dogs. This app exists in real life – you can download it from the iOS App Store.
To build this app without machine learning, a developer would have to define every aspect of what makes an object a hot dog and then instruct the program to check every one of those factors with every photograph you show it. This would be frustrating, time-consuming, and infeasible, if not downright impossible.
With machine learning, a developer needs only to develop a system through which the program is rewarded for correctly identifying hot dogs and then feed tens of thousands of photographs of hot dogs into the algorithm. Eventually, the program will learn for itself what attributes it must look for.
Combining Machine Learning with Coding AI
So far, we know that the greatest minds in tech can do more than successfully identify a hot dog. AI experts expect intelligent machines will be able to perform any intellectual task a human can by 2050.
So can the same layered, reward-based algorithm create its own code to solve problems? Microsoft thinks so, and has a working prototype of such technology in the form of DeepCoder.
When combined with an AI interface – which allows for a conversational, natural language interface between developers and their machines – the future of coding may not involve writing a single line of code.
Instead, a future developer may simply be the person best-suited to explain, in everyday language, the problem that coding AI can solve. The coding program would then draw on millions of examples of successful code to find and compile the right combination of instructions to meet the developer’s needs.
That doesn’t mean that coding will be obsolete, however. Having computers write code doesn’t mean humans will stop doing so. It only means that humans will have a much broader spectrum for solving previously intractable problems by communicating naturally with the computers they used to simply input commands for.
Keep your employees ahead of the curve with continuous learning. Discover the IT training that’s right for you.