Programming is becoming more accessible than ever – but what does this mean for programmers?
So far, the world of coding has somehow remained a niche, prevalent only amongst software programmers or computer science enthusiasts. However, given the digital transformation that has been forced upon the world by the onset of the global COVID-19 pandemic, and the centrality of AI in it, there is a burgeoning need to develop requisite skills to stay relevant. The kind of skill shortages being faced by the world of AI today has, therefore, almost forced a sort of democratisation in the creation of software, with actions like the “No Code Movement” gaining an incredible amount of traction over the past year or so. Now, tech majors are coming up with methods by which the act of coding would no longer remain an esoteric activity.
Ideally, machine programming should enable everyone to create software as they require, allowing customisation as well as optimisation – as per choice. To make this happen, Intel has collaborated with MIT and Georgia Tech in order to develop a system called the Machine Inferred Code Similarity (MISIM) engine. This engine has been designed to analyse the objective of a piece of software in two steps. First, by looking at the way it has been coded, and secondly by finding syntactic differences with similar kinds of pre-existing software code to make sense of its objective.
Given the fact that several other code-similarity algorithms are already in the market, one might ponder as to how exactly this engine is different. The answer is simple: MISIM looks at the ‘what?’ of a code, and not just the ‘how?’. Sure it does analyse how the algorithm executes code to deliver the desired outcome but also – and more importantly so – what the inherent objective behind writing that piece of code is. This is done by using its novel CASS (Context-Aware Semantic Structure) system.
The CASS system can also be configured to a specific context, thereby allowing a more nuanced understanding of the piece of the code. Additionally, the MISIM engine can do this without the use of a compiler, which makes it an even more attractive prospect over existing systems. The logic is simple. Firstly, a compiler is a tool that is used to read input code (in a human-language) and translate it to a form that the machine can read and execute. Hence, the code needs to be bug-free and in a specific machine-readable format. By eliminating the use of a compiler, however, MISIM even allows the reading of possibly problematic (incorrect syntax in parts, for example) or incomplete snippets of code that a developer might be writing. This makes it a rather lucrative option for automated bug-fixing systems or recommendation systems.
Once the code structure has been thoroughly parsed by the CASS system, the neural network which it works on analyses the task that it was designed to carry out – and assigns various similarity scores to the different bits of code used to carry out different aspects of the task in question. What is unique about this system is that even if two codes are written in entirely different approaches, but used to carry out the same task, the neural network would rate them as highly similar. Practical trials of all these aspects into the unified MISIM engine has also proved to be largely successful – identifying similar pieces of code almost 40 times more accurately, compared to previous systems.
Essentially, MISIM attempts to make the code much more universal in terms of understanding and usage, pushing it beyond the niche of programming-versed software experts and making the appeal of programming more global than ever. This, however, begs the question: will this put programmers and developers out of jobs?
No-Code = No Jobs?
Firstly, it would be prudent to note that the idea of a natural language programming (NLP) system has been in the market for quite some time now. This basically means computers being able to program themselves automatically, depending on instructions given to it in a natural language (that is, a human language). Several initiatives such as this have also been put under the umbrella of the No Code Movement.
In this context, it is interesting to note the popularity of several applications: Google’s App Maker, Salesforce’s Lightning App Builder or Amazon’s Honeycode platform – even page-building tools such as WordPress, for example. All of these have already been used for a long time now to develop web pages or create applications with minimal coding skills required. However, issues are sure to emerge going forward.
Maintaining, evolving or updating a system once created on any such platform (by a non-coder) is going to be rather difficult – with systems being exposed to several possible security risks or other vulnerabilities in the future. It is, perhaps, because of this that many believe the future coders will primarily assume new roles in supervisory capacity – primarily in the maintenance of complex systems. It still seems rather unlikely that coders are going to run out of jobs any time soon.