ChatGPT is a big hit, and I now have a feeling: We may be standing at the door of natural language programming, and if we step down, we may be able to kick the door open.
Of course, you may also kick an iron plate.
Looking back on our programming journey, it is basically a history of continuously lowering the programming threshold.
The earliest predecessors entered the program into the computer by manually plugging and unplugging circuits, and each programming session took several hours or even days.
After the emergence of the von Neumann architecture, programs can be stored in memory and changed at will, which is a lot more convenient. However, programming is still very low-level assembly. The ancient masters used assembly to write operating systems such as Unix. , compiler, programmers are rare animals at this time, and the programming threshold is too high.
The emergence of high-level languages such as Fortran/COBOL/BASIC/C/C/Pascal has lowered the difficulty of programming by a level. Coupled with the explosion of the PC industry in the 1980s, the programming industry began to prosper.
In the 1990s, programming languages such as Java, Python, Ruby, and JavaScript allowed programmers to stay further away from hardware and memory management, allowing them to focus on business logic.
In the 21st century, in order to cope with the rapid market changes, enterprises have an increasingly high demand for informatization. They urgently need to quickly realize business and promote it to the market. Therefore, low code and no code have formed a huge Inspur can be programmed by dragging and dropping on the interface.
Going one step further, everyone knows very well that it is natural language programming.
In the past, natural language programming was considered incredible by everyone, because it requires AI to understand natural language and accurately output code, which is a very difficult thing.
But after the emergence of large models such as ChatGPT and Tongyi Qianwen, we suddenly discovered that there has been a major breakthrough in natural language programming. We can tell AI the needs and let AI generate code!
We can tell AI:
I need to implement a RESTful interface for Product, using SpringBoot. The properties of Product include id, name, description, imageUrl.
In a few seconds, AI can quickly generate code from the top to the bottom. What is even more shocking is that it also supports the ability to fine-tune.
We can say: "Database access is implemented using MyBatis." AI can quickly change the database access code to MyBatis.
When we say: "Change imageUrl to image_url", AI can immediately find all relevant codes and change imageURL.
This kind of fine-tuning ability far exceeds the previous common code generators. AI seems to accurately understand your requirements and make precise modifications to the code.
Of course, for some extreme situations, AI will be somewhat ill-considered and rely on the insight of programmers. So I often say that AI can generate 95% of runnable code, and the remaining 5% depends on the skill of programmers.
This is just generating code, programmers also need to copy the code from the chat window to the IDE to run and debug. To be honest, this process is quite annoying.
The AI generation application scenario just released by DingTalk suddenly made me see a new way. With the support of the large model of Tongyi Qianwen, it not only uses natural language to generate code, but directly Generate an application, deploy it with one click, and then run it directly in DingTalk group chat!
It can even generate an application by taking a photo, so that the input method is no longer just text:
GPT- 4 In previous demonstrations, the ability to generate code and web pages based on images was also shown (this ability has not been officially released for everyone to use), but DingTalk can already directly generate low-code applications that can be run, such as common work orders. The management system, store inspection system, and customer information management system can all be developed by AI for us. This is really great.
If the automatically generated application does not meet the requirements, you can also continue the conversation and let AI help you modify the application, add options, and delete fields.
Photo generation application This Microsoft can also do it, but I found that DingTalk also revealed a great ability, which is the intelligent recommendation option Field, help you complete it. Although this capability seems simple, it is technically very difficult to implement, requiring a large amount of industry know-how to be input into the large model.
DingTalk uses its own low-code application templates for large models to learn, which is equivalent to integrating various industries (manufacturing, medical, construction, etc.) and various high-frequency business scenarios (personnel administration, financial reimbursement , production and manufacturing, etc.) are all fed to AI to build rich domain business data.
With domain business knowledge, when the large model generates applications, it will have a more accurate understanding of the needs proposed by business personnel, and the generated applications will also be more accurate.
This ability is very convenient and friendly for business personnel who do not understand code. They no longer need to rely on programmers to achieve similar needs, and can develop applications by themselves in minutes.
This kind of photo-taking or natural language generation application, combined with the DingTalk cool application capabilities that I introduced to you last year, can also be deployed in group chats with one click. Through dynamic cards, business personnel can complete human-computer interaction in a group and get things done while chatting.
Seeing this, you will definitely have this question: AI supports natural language programming. It is so powerful, can it completely replace programmers?
For junior programmers, if they can only do CRUD, the threat of AI is very great, because clear and rule-based requirements are a piece of cake for AI and can be solved in minutes.
For senior programmers, adding, deleting, modifying and checking are indispensable in programming. At this time, AI is a very good helper, because tedious and repetitive code work can be completed by AI. In this process, senior programmers only need to "guide" it and "lead" it, reducing ineffective time waste.
Senior programmers can focus their energy on work that requires more creativity. For today's AI, it is still unable to directly generate huge complex systems.
For example, we tell AI:
I want to create an e-commerce system, including user management, product management, order management, warehouse management and other common functions. It needs to support flash sale activities, coupons, Points system and other functions, help me write out the code.
AI is absolutely impossible to realize for you, because such requirements are too vague. If you use flow charts, interface diagrams, Use Cases, etc. to describe the requirements of these large systems, It's impossible without hundreds of pages. Even if you feed these hundreds of pages of documents to AI, it will not be able to fully realize it for you.
Senior programmers need to step in to decompose large systems into various modules, and then let AI intervene to generate code and applications.
It can be seen that natural language programming has developed to a very high level and can be a huge help for programmers to improve efficiency.
In the future, there will be no pure coders. Everyone needs to deeply understand the challenges they face and quickly solve the problems through intelligent productivity tools.
Several scene demonstrations at the DingTalk press conference, although only a small step towards work intelligence, demonstrated far beyond the "ability to generate code through chat" and can be directly created and deployed in the group Running the application is really convenient.
The value of tools lies in whether they can better serve people and use machines to improve people's productivity.
We can imagine that with the further development of intelligence, will the ability to develop applications become a universal ability like using Word? This is a particularly imaginative thing that no one can predict. Only time will prove it.
The above is the detailed content of In the era of ChatGPT, we may be standing at the door of natural language programming. For more information, please follow other related articles on the PHP Chinese website!