Home > Article > Technology peripherals > So, will the ability to program disappear?
Author | Anirudh VK
Translator | Xu Jiecheng
Automatic coding platforms are now at the forefront of emerging technologies for programmers, providing a new artificial intelligence for developers to write code snippets The smart drive alternative. Especially driven by Microsoft's GitHub Copilot platform, this advancement is currently slowly changing the working model of developers around the world.
Many coding alternatives in recent years, such as no-code and low-code platforms, are ideal for non-technical users. While such tools elicit scorn and anger from some “hardcore programmers” in tech circles, we have to admit that even the most experienced coding veterans can benefit from automatic coding algorithms because it will greatly Dramatically reduce the amount of code developers actually need to type.
Andrej Karpathy, the former director of artificial intelligence at Tesla and OpenAI, expressed his feelings for automatic coding tools in his tweet:
"Copilot greatly speeds up my coding. After trying Copilot, it's hard for me to imagine going back to 'hand coding'. I'm still learning to use it, but it already helps me write about 80% of my code, and Maintaining about 80% accuracy. I would say that when working with Copilot, I don't even really code."
Andrej Karpathy's remarks are also recognized by most developers, Since the automatic coding platform can help developers save a lot of coding time so that they can devote more energy to dealing with other problems of the application, the automatic coding platform has also been rapidly adopted all over the world at an alarming rate in a short period of time. use. Take GitHub Copilot as an example. Within one month of its launch, CitHub Copilot attracted more than 400,000 paid subscriptions ($10/month, $100/year). However, as these ever-improving tools begin to take on more coding tasks, a new question arises: Will developers gradually lose coding skills because of their reliance on automated coding tools?
To be honest, anyone who has used automatic coding tools knows that the code they automatically write is not perfect. While there may not be anything wrong with the syntax of the suggested code snippet, often such tools are written in an inefficient way that can lead to dependency issues. Aryamaan, a user from the YCombinator news forum, had the following comments about using the automatic coding platform "Ghostwriter" provided by Replit:
"It definitely blew my mind, like it knew what I was going to do. But in Sometimes, it's dumber than standard autocomplete, it has no awareness of variables that have been defined, and won't use them to complete half-written variables."
Although people have a lot of concerns about automatic coding tools Dissatisfaction persists. But from another perspective, almost all automatic coding tools are based on artificial intelligence algorithms, which also means that their ease of use and reliability will continue to grow with the evolution of technology and the increase in data volume. For a new generation of developers, automated coding tools will become indispensable. The would-be developers who are in the learning phase today will enter the field in a few years, and during that time, automated coding tools will likely gradually catch up with the average human developer. This will also lead to the possibility that the next generation of developers will slowly stop coding, and the subsequent generation may even lose their coding ability to a certain extent.
Today’s developers need a deep understanding of the languages they use and the knowledge of how to actually write solutions to problems. However, future coders only need to know how a language works, as they can combine this knowledge with rapid engineering to generate code snippets. Prompt engineering is the process of using NLP techniques to ask the right questions to the LLM, thereby prompting the algorithm to respond optimally.
Like other artificial intelligence applications that are disrupting different fields, the problem people are currently facing is the need to reach a consensus on how to view programming languages. The next generation of developers will either choose to learn how to take full advantage of automatic coding tools through rapid engineering, or stick to the current inside-out approach to learning programming languages. Those who choose the second approach may be losing out to artificial intelligence in the next few years. .
The adoption rate of automatic coding tools has continued to increase in recent years, and the companies behind these products have continued to innovate to add new features and optimize the user experience. While Github Copilot has been criticized for collecting user code and using it to train their algorithms, the truth is that Github Copilot's algorithms continue to evolve with every piece of code added to its database.
Of course, there are also many companies currently taking a more responsible approach to data use. Take Tabnine, for example, which only uses publicly available data to train its algorithms. Tabnine’s model can also learn from the user’s coding style. By running the algorithm locally on the user's computer, the model can learn about the programmer's style and provide snippet suggestions that better suit the user's needs. This also prevents all data from being sent back to the centralized repository, thus protecting privacy while providing additional value.
Contrary to the current approach of creating one large model (such as Codex) that can provide suggestions in multiple programming languages, future automated coding platforms may take multiple models and plug them into the language that best suits them. Tabnine has had success using various open source models in different programming languages. In a recent public interview, Brandon Jung, vice president of ecosystem and business development at Tabnine, said: "We are adopting the best models from elsewhere, they are open source, they are great. We adopt very large models, which are very expensive to train, and we specialize in code based on what works best for each language. It turns out that some of these models are better suited for certain languages than others."
adopt this The approach would not only make automated coding platforms more accurate, but also make it more feasible for companies to run and fine-tune them on their personal code repositories. Currently, a lot of data is isolated from service providers like GitHub, AWS, and GCP, but moving away from these platforms could make automated coding tools more accessible to developers generally. This, in turn, will encourage more people to utilize autoencoders as tools more effectively, thereby increasing the accuracy of the tool's predictions.
Taking GitHub Copilot and Tabnine as examples, automatic coding tools are building a new working environment for future developers, and the benefits it brings to programmers are undeniable. More advanced AI tools can not only help developers greatly improve the efficiency of writing code, but also reduce the stress of often overworked coders. In this regard, companies at this stage must also recognize this trend and the effectiveness that developers can bring when using automatic coding tools, and consider providing them with the future-oriented development tools they need.
Original link: https://analyticsindiamag.com/have-developers-forgotten-how-to-code/
The above is the detailed content of So, will the ability to program disappear?. For more information, please follow other related articles on the PHP Chinese website!