I gained some more experience in using ChatGPT and I would like to share it with the community. ChatGPT is very useful especially because it has a notion of the entire conversation, therefore it can help pinpointing information necessary to solve a given problem with followup questions way better than a session composed of reading various material obtained using a web search engine.
However, I found in my small sample that it is somehow wrong between 0% and 50% of the times, according to how common is the problem you are discussing. For example, if I would ask questions that concern all Linux distributions, it is probably right more often than not. However, if I were to ask question specific to IPFire, the opposite is true, he is wrong more often than not.
The positive news is that it is wrong frequently in small details. The bad news is that it is wrong in small details, if you catch my drift (given that you are not the current incarnation of ChatGPT, you should).
I had a long conversation when it gave me this piece of code in bash:
#!/bin/bash
set -e
my_var="applebananaorangebanana"
short="${my_var%banana}"
long="${my_var%%banana}"
echo "Short suffix result: $short"
echo "Long suffix result: $long"
which according to ChatGPT should give you the following:
Short suffix result: applebananaorange
Long suffix result: apple
instead the script gives you:
Short suffix result: applebananaorange
Long suffix result: applebananaorange
because the script is omitting the glob * character:
short="${my_var%banana*}"
long="${my_var%%banana*}"
When I pointed out the error, he quickly acknowledged its mistake and updated the script correctly. However, when I deleted the conversation, it forgot the correction. In a subsequent conversation I sent a feedback to the developers of the project, therefore very likely it will give a correct answer sometime in the future.
My conclusion is the following: we are at the dawn of this new technology, as we went from 0 to 1. From 1 to 10 or 100 it will be much, much easier and faster. I won’t comment on the implications for society at large except saying that it is clear that the impact will be huge.
What I will say is this: in few years you will be able to describe in human terms a code you want to have in a given language and OS and it will CORRECTLY give you one all the time (as opposed to some of the time which is the present situation). The opposite is also true, you will be able to past some code and it will explain it to you in human terms. very likely, you will be able to post an entire code base and ask for different explanations at different level of resolution. The barrier for learning to code or simply understanding someone else code will be reduced dramatically.
I am not sure it will be able to replace entirely software engineers (and writers, customer care, human resource … etc.). Probably not any time soon, at least in the case of software engineers.
But it will be able to train unskilled individuals to get to a much higher level than they would get today due to their given IQ, personality, motivation and natural inclination. Opensource software projects will benefit from a more competent community. This is one impact ChatGPT will probably have on IPFire, as an example of Open Source project. On the other end, the project leaders will have a much harder time keeping bugs (intentional or not) out of the code base as the community of developers will inevitably increase, while decreasing the average value of the collective skill-set.