Who needs human coders when we have AI code generators? …but just hang on a minute!
By Paulo Pinheiro
ChatGPT has generated a buzz in the news, and general discussion, around its application and its transformative potential. In particular, its capability to generate computer programming code.
What are AI code generators?
AI code generators are innovative tools that use artificial intelligence to create code for developers. It is widely viewed that they have the potential to improve efficiency, minimise errors, and simplify the software development process, ultimately enhancing productivity and project outcomes.
Where were the first AI code generators used?
The development of AI code generation has been a gradual and collaborative process involving multiple companies and research institutions. However, one of the earliest notable examples of AI code generation tools is the DeepCoder project developed by Microsoft Research and the University of Cambridge introduced in 2017.
What are popular AI code generators?
- OpenAI Codex. OpenAI Codex is the most prominent AI code tool available today. OpenAI Codex, a natural language-to-code system based on GPT-3, helps turn simple English instructions into over a dozen popular coding languages. It was released in August 2022.
- Github Copilot. Copilot uses publicly available code from GitHub repositories so that users can access large datasets and quickly develop accurate code.
- ChatGPT Created by OpenAI, the AI chatbot ChatGPT has become hugely popular, and finding different ways to use it has become a major trend.
- AlphaCode Another AI-based code generator is Google-backed DeepMind’s AlphaCode. AlphaCode has not only been trained to “understand” natural language but also to design complex programmes and algorithms and implement them in code.
How are developers using AI code generators?
- Code more efficiently. Providing end-of-line suggestions for function calls and argument completions in the Integrated Development Environment (IDE), developers can code faster and stay in the flow longer.
- Complex code translation tasks. Providing developers with a skeletal framework to translate legacy source code. Although translations may not always be correct, they are easier to fix than manually translating the source code from scratch.
- Tackle new problems and get creative. Providing creative solutions when developers are unsure of how to move forward.
What are the challenges with using AI code generators?
- Security vulnerabilities. A Stanford-affiliated research team (Dan Boneh and team find relying on AI is more likely to make your code buggier | Stanford Electrical Engineering ) found that engineers who use AI tools are more likely to cause security vulnerabilities in their apps.
- Copyright infringement. Questions around copyright are not entirely resolved. This process comes with legal risks, including intellectual property infringement. In many cases, it also poses legal questions that are still being resolved. For example, does copyright, patent, trademark infringement apply to AI creations?
- Confidently incorrect answers. Stack Overflow, the go-to question-and-answer site for coders and programmers, has temporarily banned users from sharing responses generated by AI chatbot ChatGPT.
AI code tools are not yet completely safe to use. That said, the popularity of these tools means that they cannot be overlooked. AI code generators are still no replacement for human developers, even if they can be incredibly helpful in speeding up the process.
AI code generators provide developers with a new mode of interaction that not only alleviates the tedious parts of software development but also inspires developers to be more creative, feel empowered to tackle big problems, and model large, complex solutions in ways they may not have been before. However, there are problems with code generators, too.
Overall, the future of AI code generators is expected to enhance productivity, improve code quality, and simplify the software development process by acting as powerful assistants, augmenting human capabilities and enabling developers to focus on higher-level tasks while AI handles the more repetitive and mundane aspects of coding.
You can find out more about our software services here: https://youtu.be/tM-ULYvM5vo