Now I'm at the stage where I'd prefer to just think at an architectural level and let all of the tedium be abstracted away. Copilot is like autocomplete on crack and I love it.
My strong belief is that autocomplete encourages the use of more descriptive identifier names and therefore is one factor that can encourage more readable and maintainable code.
But I'm certainly not the world's most ultimate programmer.
To me it's just feels a really dumb hill to die on. Copilot has definitely removed a lot of the tedious work in my day to day.
* Computers and other automations never made creative decisions before and were perfect for automating mechanical, rote tasks. Like going through a column of numbers and summing them up, or resizing a folder full of images
* AI attempts to make decisions that we would otherwise make creatively: yes, it may not be truly intelligent, but it undeniably makes decisions that, IF we made them, we would use part of our creative brains
That is the FUNDAMENTAL distinction between AI and other forms of computing: AI, while not intrinsically different than other forms of computing, attempts to take over our creatively-functioning brains. That is why I am against it. Society needs creatively functioning brains to be healthy, and an amalgamation of AI with humanity will have forseen and unforseen consequences, including a subtle but significant modification of our mental operation to make us forget what it is to be truly human.
Oh they absolutely did. Even the early optimizing compilers discovered new pathways and created code that surprised even their authors. The only difference is that now regular people can see and appreciate what computers create.
attempts to take over our creatively-functioning brain
I wonder if you are underestimating the extent to which the limitations and design decisions baked into computers and software (and into analog tools before them!) have always shaped our creative processes.For me, AI code assistants have greatly accelerated my creativity as an engineer. Because they help with boilerplate (and sometimes even have an idea worth considering) they allow me to explore more ideas in less time.
This was very apparent to me when doing the "1 billion row challenge" that folks were talking about a few weeks back. I was able to rapidly try out probably a dozen approaches before finding a well-performing one.
(Now, it must also be said that the gnarly micro-optimizations in the fastest solutions were clearly achieved "by hand." And I would also point out that ChatGPT/Copilot lead me down a few dead ends as well. But over all, a big win for me)
What's key to me about AI code assistants is that they augment my engineering work. I am still writing code, I still need to understand everything, the architecture ideas are still mine.
You are Plato and I claim my $5.
We should have had more caution with computers encroaching everything back then too.