I can explain a bubble sort to anyone, but if they want to program one they’ll need a programming language.
What distinguishes programming languages from: random text, spoken languages, or even other programming languages? Syntax.
I hate that you define a function in python with: def func(): ; in clojure with: (defn func []; and Haskell with: func = ; just as much now as anyone starting to explore an interest in building with technology.
I hate that to participate with the internet you need to know 3 programming languages: html, JavaScript, and css. (While completely ignoring the backend.)
But it is that way because different people have different ideas of how to move these 0s and 1s around.
Now perhaps one of these overly optimistic proselytizers of the llm teachers might say, “exactly, and we can use this tool to abstract that madness away.”
Fine, but it’s something different than programming.
I say that without any condescension of either party. What’s it matter if the desired goals are reached? I mean, except that these tools are a silicon fire created by stealing the worlds creative output, and owned by unethical sociopaths who are trying to sell it back to us.
But when discussing education, this distinction is important to ensure programming is still taught in parallel to people who are only taught to use an llm.
Have we reached the apex of programming? Do all we need is to just stochastically complete tokens of preexisting code?
Or do we still have work to do in this field?
Who’s going to do the programming if everyone in the discipline learned only how to avoid the programming?