Hacker News new | ask | show | jobs
by umvi 1150 days ago
"Because of my own personal philosophy regarding technology and AI, all the code in this repository that was written by me - I wrote 100% on my own. There is and will be no usage of Github Co-Pilot or any other AI tool."

As a developer that recently went to the dark side with co-pilot... all I can say is that from my perspective having used AI-augmented IDEs, arguments like this seem to me like a carpenter refusing to try power saws and power drills because craftsmanship will be lost compared to using handsaws and awls + hand drills. In my opinion, AI tools greatly enhance my craftsmanship by both saving me time and by suggesting solutions I didn't even know existed (most recent example being JS .every() and .some() - I was about to roll my own every/some equivalent with loops)

10 comments

Wrong analogy in my opinion. A hand saw vs power saw is like an old Pentium Laptop vs M2 Macbook. The latter is just faster and better. But both do not tell you how to do something. In case of the both the hand and power saw, you need to know exactly where to drill/cut without any hint. When coding with AI, you are getting actual code snippets and hints.
I disagree. In my analogy, cutting wood == writing code. You can't write code any faster on an M2 Macbook just because the CPU is faster. If you are more productive on an M2, it's only because you have more intelligent software (re: AI) helping you write code faster. But given vi or emacs in both setups, they are basically the same from a software dev standpoint aside from faster build time as your software gets huge.

> When coding with AI, you are getting actual code snippets and hints.

I still know the cut that needs to be made. Say I need a function that returns true if an array contains a value. Without AI, I would write it by hand, which might require me to RTFM. But with AI, I can simply prompt "// return whether the provided array contains a given value" and the AI will fill in the function. I could have accomplished my goal either way. But with AI, I was done and moved on without context switching to google or stackoverflow.

I could have sawed the 4x4 in half by hand. But instead I buzzed it with a buzz saw and moved on to the next part of my project 5 minutes ago.

That’s a flawed analogy, a power saw never suggests a cutting pattern while the very essence of what copilot/AI etc does is suggest coding patterns. Which may or may not be vetted.

Typing manually vs auto-complete is a correct handsaw/power saw analogy.

Saws certainly can project a laser beam across the cutting surface, and don't get me started about AI powered CNC cuts. I mean, just the other day I found the words "WHY ARE YOU IGNORING ME?" CNC'd onto a piece of plywood I left in my shop. I didn't do that by hand.
In my experience copilot behaves more like a power tool than what you are suggesting. I know the cut that needs to be made, and copilot makes the cut faster than it would have taken me to make the cut myself via RTFM/google/stackoverflow.
“I believe that the massive usage of AI will cause people to stop thinking and using their minds and the resulting havoc is unthinkable”

Immediate utility aside that’s a probable prediction by the author though.

Let’s hope the optimists will be right…

https://github.com/MrIceman/go-uml#warning---ai-not-welcome-...

Some of the AI predictions make me think about a quote from "Dune":

Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them.

Was it Homer who said that writing dulls the minds, and real poets use their mind to remember everything?
"artisanally developed. all reference material and manuals were read from printed text"
In my experience power saws and power drills don't steal intellectual property without telling you.

On a less snarky note, this seems like a pretty serious exaggeration. You could have learned about .every() and .some() in many many other ways

Depends on the granularity of your copilot use. Generating entire classes or non-trivial functions from a prompt vs. generating just the next few lines at a time. Pretty hard to "steal intellectual property" when the comment you wrote as a prompt was "// remove all items from myArray that have the provided prefix"

> On a less snarky note, this seems like a pretty serious exaggeration. You could have learned about .every() and .some() in many many other ways

Yeah but I didn't because it was an unknown unknown. How would I have learned about .every() when I didn't know it existed? Copilot as a discovery engine is a fantastic way to learn about language features you didn't know about.

That was just one recent example. Copilot occasionally suggests ways of doing things I didn't know about and that were even better than my original approach.

> like a carpenter refusing to try power saws and power drills because craftsmanship will be lost compared to using handsaws and awls + hand drills

Rejecting AI-backed software tooling reminds me more of Amish power tools.

https://www.npr.org/sections/money/2013/02/22/172626089/insi...

Wow... it's like the Law of Moses come full circle (finding loopholes in the letter of the law to skirt the spirit of the law)
I don't use these tools, due to privacy concerns. Once there is a capable offline model, I will be open to give it a try.
isn't it closer to "a carpenter refusing to offload the design of subassemblies to an alien whose understanding of carpentry is completely opaque"?

although, i suppose, to your point, even an alien could introduce a skilled carpenter to a new table saw technique.

Same thing people said for years about power IDEs vs. advanced notepads.
Oh but you're missing the upside: now we can sell "handmade" software and charge extra for it. Just like soap. And even better, it can be less effective and have a shorter shelf life.