Last year I tried out Github copilot in VS code for a couple of months. The reason I chose Github Copilot was because I just wanted to try a coding assistant and Copilot is easy to integrate into VS code. I would like to share my experience. If you had some experience with these tools all be it Github copilot or another integrated AI assistant or just via chatgpt.com.
To give some context in a nutshell. I needed to write a Python script to gather data from several different API endpoints, combine/manipulate them and write it to a database. For the data manipulation I used Pandas, which is well known and documented within the Python community, but it was new to me.
My initial impressions of Copilot were amazing in getting me up to speed with this unfamiliar library. At the stat it was also nice for getting to know the coding patterns that were conventional within this library. It also gave me an incentive to write clear documentation for my code. When I wrote the documentation first, the lines of code that I needed just appeared below.
After the honeymoon phase, I would start to notice the shortcomings and pitfalls. It is easy and fast to ask the AI to write the necessary code for you. The problem here is that you don’t always understand what is happening, which will bite you in the ass in the long run. Quite often the AI assistant hallucinated some functions that seemed legit. And were written in a convincing way, only to realize I had to rewrite part of the program because of a non existing function being called. Github Copilot constantly produces suggestions, which has its upsides and downsides. The upside is that sometimes a line of code was suggested that I did not think of, but was better than what I had in mind. When these suggestions were not as interesting, they became quite annoying. It cluttered the screen, it stood in the way of the IntelliSense of VS code, which were better most of the time. Lastly, I have no idea of the energy cost of the constant flow of suggestions…
In conclusion, in unknown fields it helped me to get up to speed faster. For the parts where I had more experience it was a combination of annoying me with suggestions, helping with the simple and tedious stuff. In my experience it is certainly an asset to have during coding, but it is important to use it as a tool to help you with programming and do not let it do the programming for you.
Leave a Reply