Ask HN: Is programming dead because of LLMs?

10 points by akkad33 ↗ HN
Usually people say programmers are not just coders but those that translate requirements into code through communication etc as a rebuttal to the AI threat, so to speak, but also you do not have to know to program to tell ChatGPT to write code. So is there any use learning programming in 2023?

16 comments

[ 2.8 ms ] story [ 43.7 ms ] thread
Is programming dead? No.

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 don't know about your last paragraph. Continuing your assembly analogy, yes learning assembly helps you get a feel for what's happening under the hood, but does anyone learn assembly these days? Also in terms of energy consumption is there a case to be made for human programming vs AI programming? Or is there a better interface than natural language between AI and humans, given natural language is so imprecise?
Does anyone really learn assembly these days? No, not many do. They did in the 1960s, though, even after compiled languages came out. And I've used it clear into the mid-1990s, which is 40 years after the first compilers. So, for long enough to cover the rest of your career, yes, it's still worth learning how to program.

The rest of your questions I do not presume to know answers to.

> does anyone learn assembly these days?

Yes. It's not "old language" as you see it. It's just close to the hardware. Stop letting advertising convince you of such nonsense. Same thing with C; people still learn it and it's still useful to learn.

This is like thinking hammers are obsolete because we have power tools now.

I also think everyone's being far too generous in calling LLMs "AI". Makes it sound like it's actually intelligent or something, which it's not. It's good at mathematically predicting next-text that looks like a human wrote it, not correctness or creativity.

I've used GPT-4 and CoPilot for a number of different projects (web + mobile). It's replaced 90% of my Googling, Stackoverflowing and looking up docs and I definitely type out less code.. but I am still leading the whole process. It cannot just generate what needs to be done. Most non-technical people could not use it to generate code - they wouldn't know what to do with it.

I think LLMs are a powerful tool for programmers to use.

Programming is communication. Software engineers communicate instructions to machines, and LLMs are powerful language tools that can translate rough requests to instructions in a precise format (including computer code). This will add a fuzzy interface layer on top of programming, but computing will still require precise low-level instructions.

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.

It's not dead but this phrase will certainly prove useful for scaring off people from entering already oversaturated job market
As a person who consistently has to debug bad code written by ChatGPT, namely because it hallucinates API endpoints or parameters that don't exist, I'd say the answer to your question is a resounding no.
Is dead because people asking questions like that. I’m sorry I don’t want to sound harsh but that’s what I think: don’t learn programming or how computers works or anything about hardware or software if you’re not already passionate about it or doesn’t passionate you. You won’t give a f of LLMS if the argument of study makes you curious, happy or satisfied. LLMs are just a tool like any other. Quite often I find myself believing that the future might be like how it’s been depicted on a South Park episode where handyman’s got so rich to the point that they start space exploration :)
Here's a thought experiment: think about what you did at work in the last few weeks, but instead of you doing it, someone that doesn't know programming is given those tasks instead. They have state of the art LLMs to help them. How would they do?

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.

I've stopped using ChatGPT for coding, it just generates garbage. Easier and more accurate to just use Google.
It generates so much garbage I don't think it's going to replace good programmers anytime soon.
If you check LLM benchmarks, they struggle to surpass humans in a variety of tasks. Replacing a senior dev is a huge task, it's in AGI territory because the breadth of tasks a senior dev needs to do is simply too large.

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.

P(correct) = (1-e)^n, and the value for e is quiet high.
This is the narrative that the “Opan”AI marketing team is trying to sell business people.

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.

I have been coding for a decade and I think so. Its dramatically easier to write software now.