look, i know it's fashionable to hate ai, things like copilot, especially around these circles
i am no exception, i don't like it either. i am happy being a luddite, and smashing the tech that's come to deskill our jobs, but when it comes to things like copilot, i do ask myself if i'm just being old and discounting what's new, hip, or different
let me be clear: i don't believe chatgpt and its ilk are "democratizing code". it's a ridiculously expensive tool that's being offered at an unsustainable discount, but i do believe there is potential for a tool that's a better autocomplete, one that doesn't end up boiling the oceans to generate a yaml template.
there's just an awful lot of programming that involves writing monotonous code, especially around api clients, or setting up yaml and configuration. although my job has regularly been "cleaning up the mess", i know a large part of other people's day jobs is "get the mess running as quickly as possible".
i can't say i would benefit from it, but i avoid those sorts of jobs to begin with. it feels unfair for me to point at others and say they're cheating. i'd cheat too, i'm a lazy piece of shit. i'd absolutely use something to smash out "print 1 to 10" and all of the other chore like code beginners are drudged through. i really can't fault people for slacking off at work with a magic yaml website.
well, except for the boiling oceans part, but i digress. the question of "is using copilot really programming" reminds me of the when mit switched away from sicp. there was a similar outcry. "are you really teaching programming if they aren't learning to write a compiler?!"
the answer was yes: mit argued that it was more important to teach programmers how to navigate using third party code that's buggy, than it was to teach them how to implement hygienic macros in scheme. it wasn't "cs foundations", but people did seem to benefit from the approach.
you could make the same argument for copilot, but that really depends if people are learning useful skills. then again, i'm not really sure what skills you learn from google, stackoverflow, and copy and paste, so it's not as if copilot really makes anything worse.
again, ignoring the boiling the oceans part, but again i digress. i'm just not sure it's really a meaningful improvement.
i've just never been convinced by templated code, or code generation in general. you end up with large swathes of crap code that's impossible to change. the tools don't help people understand code, only create it, and it works out long term as well as you'd expect.
it saves you from writing thousands of lines of code, but never from debugging it.
i remain unconvinced, but what do you expect from a guy who still doesn't use syntax highlighting. new thing bad.
