[HN Gopher] Using AI Generated Code Will Make You a Bad Programmer
___________________________________________________________________
Using AI Generated Code Will Make You a Bad Programmer
Author : cmpit
Score : 28 points
Date : 2024-10-22 12:08 UTC (10 hours ago)
(HTM) web link (slopwatch.com)
(TXT) w3m dump (slopwatch.com)
| cranberryturkey wrote:
| fun fact: after 25 years as a software engineer in silicon
| valley, I'm convinced nobody cares about code quality and they
| never have.
| stuckinhell wrote:
| I have 23 years,and I'm convinced too.
| souldeux wrote:
| Only a dozen but same. Just ship the shit. Quality never
| mattered.
| mewpmewp2 wrote:
| Also most attempts at code quality lead to even worse code -
| into overengineered abstraction layers that no one will be
| able to adjust once it's inevitably realized that the
| assumptions were all wrong.
| fragmede wrote:
| Totally. YAGNI - you ain't gonna need it. That beautiful
| framework you spent extra weeks writing, designing from
| first principles, turns out to be the wrong layer of
| abstraction because of a bad assumption. the client left
| off critical business logic details, or a pivot to a more
| popular feature of the program. The only question then is
| how to get out of that tech debt.
| everforward wrote:
| They do, but very few people are good enough to either write a
| pull request or review one well. I wouldn't put myself in the
| really good category for either.
|
| Most people write pull requests that are scoped too poorly to
| tell what they're doing. Like I get a single function with unit
| tests, so the best I can do for a review is check whether there
| are any obvious missed edge cases for a function whose purpose
| I don't understand.
|
| On the review side, most people review by doing basically what
| a linter does. I joke with people that if they want to nitpick
| my variable names then I'll start DMing them to ask what name
| they want every time I need a variable. A meaningful review
| would analyze whether abstractions are good, whether there is
| behavior that relies on an unspecified part of an abstraction
| (timing), etc. Nobody does those.
| Koshkin wrote:
| Yeah, no, things have changed in the last 30 years...
| JohnMakin wrote:
| While I agree with the spirit of this post, it seems a bit
| misguided on several points.
|
| 1) I do not believe AI will ever replace programming as a
| practice, because people will still need to read/review the code
| (and no, I don't personally believe LLM's are going to be able to
| do that themselves in the vast majority of cases)
|
| 2) while the "script kiddie" characterization is a bit of an
| unfair generalization, there is some truth to this. I disagree
| that using AI to generate code puts you in that realm
| automatically, but I have seen quite a few cases of this actually
| happening to give this point some merit.
|
| 3) Using AI generated code atrophies your skills no less than
| using someone's imported library/module/whatever. Yes, I probably
| couldn't write a really good merge sort in C off the top of my
| head anymore without thinking through it, but I don't really have
| to, because a bazillion people before me have solved that problem
| and created abstractions over it that I can use. It is not
| inherently bad to use other people's code, the entire software
| world is built on that principle. In fact, it's an extremely
| junior mindset (in my view) that all code you use must be written
| by your own hand.
|
| 4) "code being respected" is not really a metric I'd ever go for,
| and I'm not sure in my career so far I've ever seen someone push
| a big pull request and not have a bazillion nitpicky comments
| about it. Respecting other people's code doesn't seem to be very
| common in the industry. I struggle to think why I personally
| would even _want_ that. Does it work? Is it readable
| /maintainable by someone other than me? Is it resilient to edge
| cases? If all yes, good, that is all I really care about.
|
| 5) > If you're someone who has no actual interest in learning to
| code, and instead see AI as more of a freelancer--telling it
| stuff like "make a kart racer game," and "that sucks, make it
| better"--then none of this really applies to you.
|
| I mean, sure. I have very little interest or joy in "coding." I
| like building, and coding is a means to that end. Again, seems
| like a very junior mindset. I know people _do_ find an enormous
| amount of joy in it for the sake of it, I am not one of those
| people, and that 's fine. Usually it drives me to create better
| abstractions and automation so I don't have to write more code
| than I want to.
| BugsJustFindMe wrote:
| > _You May Become Dependent on Your Own Eventual Replacement_
|
| If you're going to be eventually replaced, and I absolutely
| believe that even the best of us will, you may as well get in on
| the ground floor to extract value for a bit before that happens.
|
| Not writing your own code doesn't need to mean turning your brain
| off. You still need to look at what came out, understand it, and
| spot where it didn't match your needs.
| baw-bag wrote:
| I agree with that entirely. Using the current tools available
| to make your life easier while picking up a decent pay check is
| a no brainer. I probably expect my next job is using said tools
| primarily followed by complete redundancy.
|
| By that point, having never used any of the tools makes you
| almost no different from anyone off the street.
|
| In a way I welcome it. Writing the same menial code as everyone
| else slightly differently becomes a pretty stale existence.
| artemsokolov wrote:
| 1972: Using Anything Other Than Assembly Will Make You a Bad
| Programmer
|
| 1995: Using a Language with a Garbage Collector Will Make You a
| Bad Programmer
|
| 2024: Using AI Generated Code Will Make You a Bad Programmer
| dwaltrip wrote:
| Generalized version: Using tool to do thing makes you bad at
| doing thing without tool.
|
| I get where this is coming from and it is true sometimes (e.g.
| my favorite example is Google maps). But it's quite silly to
| assume this for all tools and all skill sets, especially with
| more creative and complex skills like programming.
|
| Wise and experienced practitioners will stay grounded in the
| fundamentals while judiciously adding new tools to their kit.
| This requires experimentation and continual learning.
|
| The people whose skills will be impacted the most are those who
| didn't have strong fundamentals in the first place, and only
| know the craft through that tool.
|
| Edit: forgive my frequent edits in the 10 minutes since after
| initially posting
| m463 wrote:
| 2035: Using simplified english will make you a bad prompt
| engineer.
| marginalia_nu wrote:
| Yeah I don't think this is a good take.
|
| In a learning context, sure, you probably should not be using
| copilot or similar, the same way you shouldn't be using a
| calculator when doing your basic arithmetic homework.
|
| Beyond that, this just seems like a classic scrub mentality
| hangup. If a tool is useful, you should use it where appropriate.
| You'd be a fool not to. If it's not useful, then don't use it.
| Alifatisk wrote:
| This has been my concern for a while, that switching from basic
| autocomplete to ai generated code, copilot or switching the
| Cursor ide will make me stupid and forget how to write the most
| basic stuff without needing those tools again. I am very scared
| of losing my ability to write the code by myself again thanks to
| ai.
|
| If it wasn't for that, I'd switch to Cursor or use copilot in a
| instant, because honestly, I've asked some ai tools like Claude
| for help a couple of times, and those has been for tasks that I
| know more than one would need to be involved in to complete that,
| but with Claude, I solved it in a couple of hours, incredible
| stuff!
|
| Also, if it wasn't obvious, I am not claiming that this is the
| case, these are just my feelings, I would love to be convinced
| otherwise because then I might switch and try out the luxury QoF
| others are having.
| idopmstuff wrote:
| Yeah, probably true, but joke's on you - I'm just a B2B SaaS PM
| so making me a bad programmer is a huge step up!
|
| But in all seriousness, these models are getting to the point
| where they're really useful for me to just build one-off tools
| for my own use or to prototype things to show other people what
| I'm looking for (like an interactive mockup). That's the power of
| turning a non-programmer into a bad programmer, and it's
| certainly worth something!
___________________________________________________________________
(page generated 2024-10-22 23:01 UTC)