For a while now, I have been seeing lots of material on ChatGPT and what it can do. One of the most interesting things I saw was that many people were saying that it has the capacity to write complete code and will replace the developer. Does it really?
Introduction
For a while now, I have been seeing many articles, blogs, vlogs, and other material on ChatGPT and what it can do. One of the most interesting things I saw was that many people were saying that is has the capacity to write complete code as per provided specifications and hence it would probably replace developers in the future. This sounded alarming as I am a developer and have been for over three decades. Hence, I decided to see what this tool could do.
What ChatGPT can do
I started by signing into the trial version at OPEN AI (
https://chat.openai.com/) and asking a few questions related to different technologies and the answers were summarized and quite concise. I also asked a number of questions on other topics like geology, astronomy, history, sports, and anthropology. All answers were good. They were quite similar to what we would find on Google or Bing but were in a summary format.
Then, I tried the coding piece. I asked the bot to write me some snippets in JavaScript and C#. I also, refined the results with specific requirements and overall, the results were quite impressive. I also asked for some unit tests, and these were also good.
So, does ChatGPT replace us?
The code snippets were good, but can these be used by a non-technical person to write a complete application. I do not think so. As I saw this new technology summarizes a result whereas current search engines provided references about what we were searching. Could a non-technical person write a complete application using results from Google or Bing search? The answer is No and hence the same situation is for this new technology. However, it can be very helpful for a developer. It can provide sample code snippets. It can point us in the right direction when deciding what library to use for a particular requirement. It can help us with unit tests. It can give us options. However, which option we take, which design pattern we use and how we apply architecture design is still up to us. Hence, it is the developer that will decide how to use ChatGPT and how useful it can be for them.
Summary
I remember back in the early nineties when I was still programming with FoxPro, there was big news that we had a code writer with the new version and now developers would no longer be required. This was helpful in designing menus and simple forms. We just needed to design the form via drag and drop and the code would be generated for us. I tried and also used this in a few of my applications. However, the code written was too complex and very hard to customize. It was also very limited in use and hence was never used much. We must always keep one thing in mind. There will always be tools to help us like code generators, search engines, and the new ChatGPT. However, it is our understanding as developers that will build the application to meet the end user’s needs.
Comments (4)
Commented:
Commented:
In your opinion, what are some examples of specific end user needs that only developers (not AI) have the knowledge to implement?
Commented:
And the answer was very clear "I'll rather be a developer under the bridge than dentist in a villa"...
The ChatGPT is a kid today but I am sure it will grow rapidly. Jobs like lawyers or call center operators may disappear. Diagnosis from the symptoms and some lab results will be much easier to determine etc. I am glad to be nearly retired and I still like FoxPro...
Commented:
That is mindblowingly useful since if you already know what you want, you can recognise the code is sound and perhaps even more clever than what you would have written with your perhaps outdated style.
It saves an enormous amount of time and the test generation actually make you a better developer, because we all know how hard it is to (be allowed/having the discipline to) get tests written in the time allotted to producing features.