From the Archives asked
answered Mar 17
I find myself on the curve where Im a decent beginning programmer without AI, but my peers are using AI. And so I use it to try to keep up with others using it, but I find that the more I use it the less I actually improve my own skills, the rustier I feel even on the simple stuff. And all things equal I prefer doing it on my own because I find myself rapidly improving when I do. Im just curious what you advise younger novices to do at this point?
Philip's answer
Wow. This is a tough and deep question.
We allow calculators in math classes now (they used to ban them "back in my day"), and yet we still teach basic arithmetic. I genuinely wonder why. (I don't mean that I don't agree -- I am literally simply asking, "What is the reason behind still teaching it?")
One could imagine a math class that was instead all about concepts. "Addition is combining two smaller things to make a bigger one." Etc. And then having calculators there on day one, like second grade. "Squares are the same number multiplied by themselves. It's like how you get the area of an actual square. Square roots are the opposite -- you go from knowing the area to wanting to know a side." Yes, it's true those kids would be completely screwed without a calculator — say, somehow stranded somewhere without technology and needing to add stuff, though I can't invent a reason right now. But is that rare instance worth spending years and years of class? Or would kids be able to solve much more interesting math problems, much more quickly, if we taught the concepts but not the mechanics?
It took a while for schools to stop teaching cursive. My kids were raised at a time when parents hotly debated this. Now it's accepted as a waste of time. "What if they have to write longhand?" On rare occasion, they're going to be much slower.
These days, we don't mind that most CS grads can't write a compiler themselves, or even look at assembly to decide whether there's a bug. But we accept that you'll typically always have a compiler when you need one, and that the world only needs a tiny number of people who can write you a new one.
I don't know if coding can/should go that way. Is there an AI-first, don't-worry-about-the-code way to teach programming to professionals in the field? Can we get to the point where AI almost serves the same function as a compiler, basically taking your higher-level language (English) and turning it into assembly? Once in a rare while, when it's wrong, perhaps only one engineer on your 50-person team can look at the code itself to fix the problem?
I'm brainstorming aloud here. Really not sure.