Although questions about the dangers of AI development have somewhat died down, and AI tools used in everyday work still leave much to be desired, new developments and breakthroughs make us ask these questions again and again. The development of artificial intelligence in business and programming is generating a lot of excitement and debate.
Looking through the lens of programming, there is a fundamental question about the future of the profession – is AI really a threat to programmers, or will it become their greatest ally, so that programmers skilled in using AI will be able to build any application quickly and flawlessly? To answer this question, it is necessary to look at some key arguments:
One example of this is the use of AI to automate routine tasks, allowing developers to focus on more complex problems.
However, it is able to automate some tasks and significantly increase the efficiency of these specialists. For example, it can automatically generate code for relatively simple functions.
However, this should not be a cause for concern.Examples include automatically checking code with respect to applied programming patterns or automating the creation of basic tests.
Programmers will still be needed to make important decisions, solve complex problems, and create value-added software. For example, designing the architecture of information systems, which requires deep analysis and understanding of the business.
But let’s move on to Devin, an innovative tool that, although currently only a teaser published by Cognition (https://www.cognition-labs.com), shows the future of artificial intelligence development in the field of programming.
Devin, the world’s first fully autonomous AI software engineer, is the answer to the growing demand for automation in the software development industry. Its ability to learn new technologies, find and fix bugs in code, as well as train and adapt its own AI models, makes it an invaluable tool for developers. Devin’s key features include:
Cognition has published a comparison of Devin’s capabilities with the performance of well-known language models that support programming. In terms of reasoning and inference, Devin outperformed the best models available today, such as OpenAI’s GPT-4 and Anthropic’s Claude 2, by several percentage points.
The next step in the automation of development processes is AutoDev, a fully automated AI-based software development environment. Its key principles are to increase the autonomy, efficiency, and security of AI systems. And most importantly, unlike Devin, it is available in an open-source model, meaning it is available to everyone.
Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)
The main benefit of using AutoDev is that it helps tremendously in automating repetitive tasks. One example is the automatic generation of unit tests, which allows developers to focus on more complex aspects of the project.
The second issue is the ability to create agents that check each other’s performance. This reduces errors and allows artificial intelligence to check the performance of the solutions it creates on its own, which will enable developers to focus on creative problem-solving and innovation. For instance, AutoDev automatically builds and deploys applications, and this gives developers more time to design new features.
AI pair programming is the solution most software developers are using today, according to a survey by GitHub – as many as 92% of US developers. It helps speed up work by 55%(https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/) . Artificial intelligence can complete repetitive lines of code or suggest further functions from programming patterns or previous examples.
In the context of collaboration with AI and automation of programming tasks, it is worth considering which approach is more beneficial. And whether we need to choose one or combine them wisely. On the one hand, collaboration with AI can significantly improve the work of developers, for example, by automating code testing, which allows for faster and more accurate detection of potential bugs.
On the other hand, full automation of programming tasks can lead to software bugs that are difficult to detect and potentially dangerous, as well as the lack of important functionality, such as security. It is important to remember that AI learns from available repositories created by programmers of varying levels of sophistication. Even with bugs. In addition, many software solutions do not have comprehensive documentation or a large number of publicly available examples, so artificial intelligence has a limited understanding of how they work. This can lead to hallucinations, that is, AI making up bits and pieces of the solutions used and their APIs.
Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)
The development of AI and tools such as Devin and AutoDev that use AI agents is creating new opportunities and challenges for the software development industry. With the growing role of English as a new programming language – used to give commands to assistants – it will become another language that many programmers will need to master even better than before. To realize the full potential of AI, it’s important to focus not only on the technical aspects of programming, but also on developing communication skills and understanding the business and cultural context critical to building software designed…for people.
If you like our content, join our busy bees community on Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.
Author: Robert Whitney
JavaScript expert and instructor who coaches IT departments. His main goal is to up-level team productivity by teaching others how to effectively cooperate while coding.
Pinterest, which made its debut on the social media scene a decade ago, never gained…
Thinking carefully on a question of how to promote a startup will allow you to…
A podcast in marketing still seems to be a little underrated. But it changes. It…
Video marketing for small business is an excellent strategy of internet marketing. The art of…
Are you wondering how to promote a startup business? We present crowdfunding platforms and websites…
How to use social media to increase sales? Well, let's start like that. Over 2.3…