I asked Gemini to draw a diagram of a heap. Here's what it came up with.

Heap a hoopree? TF?
We have ostensibly reached peak super intelligence and I am looking at something completely intractable for a human engineer to ever hope to understand, or... it's hallucinated BS.
"Bro, you're doing it wrong."
Okay, strawman anecdotes aside, LLMs are amazing for building MVPs or prototyping. They excel at helping you implement best practices.
But these tasks are just information retrieval. They are not reasoning about anything.
Better information retrieval can be a game changer. Google was a game changer for engineers I'm sure (before my time).
Answers that used to take hours of testing can now be found within a few minutes of searching. Now we compress those minutes to seconds.
So yeah, the game has changed, but this will not "replace" real programming languages. It's just another layer of abstraction.
The past 100 years of programming has been a leverage game. We're just attenuating effort by abstracting interfaces. LLM coding isn't much different than this.
The better you get as an engineer though, the more you need to tell the computer exactly what to do. Programming languages are still the best way to do that.
And ya know what? Today's languages aren't perfect. But they're damn close. You can much more effectively express logic through functions and variables with them than you ever could through English.
Verbal languages suck at this. That's why we have programming languages and even mathematical notation. They are literally the simplest expression of functions and variables that we could conceive.
Consider something as simple as square root. Does this sound easier to you?
"Find an exact number y with respect to x that when multiplied by itself, gives x. Return the value of y. Perform this operation with 176400 as the value for x."
Yeah, just give me sqrt(176400)
.
Programming languages over time basically asymp to near lambda calculus, and for good reason.
Sure, the language model might have inferencing ability to fetch subroutines and relevant functions I need.
When it doesn't though, you'll find yourself awake at 4:20 AM in the endless doldrums of trying to coerce the prompt to fix what the prompt built and broke at some point. It doesn't know what's going on or when it broke the thing, and neither do you.
Don't get me wrong, I'm not trying to slam LLMs. Without question you should leverage them, but you need to stay vigilant about what it's doing under the hood!
If you're considering dropping out of CS college, well maybe you should (to start a meme coin or something), but not because engineers are going extinct.