[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)