Why don’t you try to write some software using ChatGPT?
Its output varies between somewhat viable but not very good suggestions and complete garbage.
Can you tell the difference? Faster than writing the code yourself? Can you spot the subtle bugs?
In my experience it’s a waste of time except for the cliches.
It is a autocompletion machine for cliches. All hallucinated, because it has zero relationship to reality, just statistical one to bodies of text.
In my particular case, they might make some progress on the React component I worked on. I did use ChatGPT myself to get some help with CSS (the part of my current stack that I'm least proficient in). They would make zero progress on our big Java service because it's simply too custom for an LLM to be of much help.
For the database stuff that I also did, it was mainly about reading official docs and testing assumptions and behaviour based on those, something that you would think an LLM would be great at, but the answers I got when I tried weren't really helpful. The issues were too specific to certain versions of dependencies and in some cases, the docs' recommendations were questionable. I then had to convince other devs that my findings were correct and that we could go ahead with the, potentially risky, change.
So no, I don't think programming is dead. Not yet anyway. Who knows what the future might bring.
Is there any use learning programming? Probably.
The time may come when AI can write the software for you. Someone still has to tell it what software to write, in the right amount of detail so that they actually get the software they want. That becomes "programming". (Just as programming became writing higher-level languages rather than assembly. AI may mean we get to level up.)
But even if that happens, learning programming now gives you a better feel for what's going on, and a better understanding of when the AI is talking nonsense. You're going to need both of those.
I think LLMs are a powerful tool for programmers to use.
Maybe it means a hard time for junior devs but even the, do you have tasks a junior devs would struggle? You can count on LLMs struggling too.
The current breed of LLMs will likely make software engineers much more productive, as they help with the most mindless parts of creating software. This is bad news for tech workers whose job is limited to simple programming tasks. However, there will always be a need for engineers that architect, design and implement complex software systems.