It has been just over a year since ChatGPT, which debuted in November 2022, exploded onto the scene.
That begs the question: How significantly have ChatGPT and other generative AI tools affected software development practices? Are they on track to replace developers? Can you still be an effective programmer without making use of generative AI? Or is the GenAI hype not living up to reality in the realm of software development?
To answer those questions, let's look at how generative AI has and hasn't changed software development over the last year or so.
A Brief History of Generative AI in Software Development
We should start by noting that ChatGPT wasn't the first generative AI tool available for programmers. GitHub Copilot, which is powered by the same core AI engine as ChatGPT, has been around since 2021.
Going back further in time, AI-powered coding tools such as Visual Studio IntelliCode have existed for years, although they are much less powerful in many respects than the likes of Copilot and ChatGPT.
Still, it's important to recognize that at least some developers have been using AI to help them write and validate code for a while now. ChatGPT's release didn't mark a totally novel development in that respect.
What ChatGPT Has, and Hasn't, Done for Coders
So, the real question is, have ChatGPT and other next-generation AI tools ushered in a new age in the realm of software development? Or are they just improved versions of AI-assisted coding tools that are not all that new?
What ChatGPT has wrought
There's a decent case to be made for both viewpoints. On the one hand, you could contend that the likes of ChatGPT and Copilot are so adept at generating code, as well as assessing code to identify problems, that it's hard to imagine coding without the help of AI at this point. Doing so feels, in some senses, like building a house with a hand saw instead of power tools: It's still feasible, but it's so much less efficient than a more modern approach that you'll fall behind if you stick to the old ways.
Plus, generative AI tools can do more than just write application code. They also excel at producing code to drive automated software testing, helping developers detect bugs in their applications more effectively. In addition, they can make suggestions about how to architect applications. And they serve as research tools that can help developers find information faster than they could by searching through documentation databases manually.
The lingering limitations of ChatGPT
On the other hand, the fact remains that no one, so far as I'm aware, is building complex applications using ChatGPT or other AI-assisted tools alone. You may be able to create relatively basic apps using just AI, and you can generate most or all of your boilerplate code with it. But there's no reason to believe that ChatGPT and similar tools have made coders irrelevant.
That's all the more true given that to write anything resembling maintainable code with AI, you'll need some level of expertise in programming. You'll have to be able to describe to ChatGPT how you want to architect your app, which languages or frameworks to use, and possibly even which coding conventions to follow. These are all considerations that are critical for building a real-world app, and ChatGPT has no way of knowing how to address them unless you have the programming knowledge necessary to explain in detail what you want.
Will AI Continue to Get Better at Programming?
It's also reasonable to believe that while ChatGPT hasn't revolutionized software development yet, it could do so in the future, based on the premise that generative AI will keep getting better and better.
I tend to think, however, that although GenAI will probably evolve incrementally, as most technologies do, it's not going to improve by leaps and bounds. What it can do today basically represents what it will always be able to do — and the types of flaws and limitations that affect GenAI today, such as prompt injection risks and the ever-troubling hallucination challenge, are not likely to disappear, although they might slowly become easier to address.
Conclusion: AI Is Good at Coding, but Not All-Powerful
In short, while it would be wrong to deny that AI has had a major impact on coding, it would also be wrong to suggest that it's on track to replace human developers. The extreme positions that some folks take toward AI in software development — either that it's too flawed to be usable, or that it's an unparalleled tool that threatens the jobs of programmers everywhere — have not been borne out by developments during the year since ChatGPT's release.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.