All very good points.
Back in the day. A looooong time ago, as part of my degree in electrical and electronics engineering, we had to do programming.
Machine code was the order of the day because the kit we were using back then didn't have anything else. We were using 6502 and Z80 evaluation boards that you had to type in via a hex keypad.
We didn't have compilers or IDE's for these things (though I did eventually write something along those lines for a project).
One of our lecturers was something else. And I mean that in a positive light. His background was R&D and designing subsystems for mainframes for the likes of ICL back in the day. His knowledge was utterly phenomenal but he also had a teaching methodology that, at the time was frustrating as all hell, but boy am I fortunate - and eternally grateful - to have had him teaching me.
He would never give us what we wanted - a straight answer. Well, actually a solution.
"What you need is in the blue/black book" <- these were the books from the CPU and board manufacturers that had all of the hex in them. Wanna JuMP? Hex xxxx - you get the idea. He might, if he was feeling particularly sorry for us, point us into the right general area of said books. But not often. It helped you find and digest the right information and sift out the irrelevant. Critical thinking skills, right there.
But also on top of that he taught us a logical approach, starting with the algorithm. If you can't get that right the rest falls short.
From the algorithm we went into flow charts. Again, he was an absolute stickler for them being accurate and flowing properly. And matching the algorithm. If it didn't one or the other (or possibly both) were wrong and needed to be revisited.
And then we got into the actual program itself. And by now, it was usually the simpler part.
So we had to learn the basic building blocks - from hexadecimal, to how the CPU's we were programming for worked, to how they did things like address the memory on the boards etc.
We had to learn how to turn a requirement into an algorithm and how to turn that into a program.
We had to learn how to debug them.
And fundamentally it taught us how to understand what we were doing, so that next time it was a bit easier and we were a bit better at it. Slow, steady, progress.
I won't say I left programming behind as it was more I never used it in anger outside of studying - the hardware got me.
But I wonder... if we could have simply used a search engine, we likely would. If we could pass it to AI we probably would.
And then we would have learned fuck all. We would have got to an answer without the journey of discovery and understanding.
If you abregate your learning to AI, don't be surprised when it uses what you're inputting as yet more of its own training data to become even better - all the while, leaving you stood on the bottom rung of the ladder with no way to make the steps upwards because you've never built a firm knowledge base of your own and the gap is widening.
Stop. Being. Lazy.