Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
AI Programming Technology

Ask Slashdot: Have AI Coding Tools Killed the Joy of Programming? 40

Longtime Slashdot reader DaPhil writes: I taught myself to code at 12 years old in the 90s and I've always liked the back-and-forth with the runtime to achieve the right result. I recently got back from other roles to code again, and when starting a new project last year, I decided to give the new "AI assistants" a go.

My initial surprise at the quality and the speed you can achieve when using ChatGPT and/or Copilot when coding turned sour over the months, as I realized that all the joy I felt about trying to get the result I want -- slowly improving my code by (slowly) thinking, checking the results against the runtime, and finally achieving success -- is, well, gone. What I do now is type English sentences in increasingly desperate attempts to get ChatGPT to output what I want (or provide snippets to Copilot to get the right autocompletion), which -- as they are pretty much black boxes -- is frustrating and non-linear: it either "just works," or it doesn't. There is no measure of progress. In a way, having Copilot in the IDE was even worse, since it often disrupts my thinking when suggesting completions.

I've since disabled Copilot. Interestingly, I myself now feel somehow "disabled" without it in the IDE; however, the abstention has given me back the ability to sit back and think, and through that, the joy of programming. Still, it feels like I'm now somehow an ex-drug addict always on the verge of a relapse. I was wondering if any of you felt the same, or if I'm just... old.

Ask Slashdot: Have AI Coding Tools Killed the Joy of Programming?

Comments Filter:
  • by MpVpRb ( 1423381 ) on Friday November 15, 2024 @05:26PM (#64948911)

    ...actually writing and debugging code, and having the time and resources to do it well.
    Getting frustrated by undocumented and bizarre bugs in frameworks or libraries is not joy.
    Cutting and pasting sample code into your project and accepting that it works poorly is not joy.
    Trying to figure out how really old, bad, undocumented code works is not joy.
    Being forced to ship buggy code because the manager insists on meeting a date is not joy.
    It's hard to see how AI assistants can make it any worse

    • Re: (Score:3, Insightful)

      Re "It's hard to see how AI assistants can make it any worse": By causing the very things you list in your post. "Bizarre bugs"? Yep, chatterbots (what most people mistakenly call "AI", which doesn't exist) can cause those (by "hallucinating"). Pasting sample code that one didn't write and doesn't understand? Yep, chatterbots write that. Undocumented code? Yep, chatterbots write that. Being forced to ship buggy code because the boss demanded that one use chatterbots to "save time"? Yep, using chatterbots ca
    • Oh God is this true!!! I have been struggling to find that love again, but, I fear the 25 years in the industry battling all of the above has killed it.

      You nailed it buddy

    • Getting frustrated by undocumented and bizarre bugs in frameworks or libraries is not joy

      Figuring out these bugs and how to get around them can be. And, if it happens to be Open Source, fixing them for others can be.

      Cutting and pasting sample code into your project and accepting that it works poorly is not joy

      Agreed. So don't do that. Write it yourself.

      Trying to figure out how really old, bad, undocumented code works is not joy.

      I dunno, maybe it's just me, but I actually get a hoot out of it. And, y'know, sometimes that old, bad, undocumented code has some truths in it that I didn't know or think about.

      Being forced to ship buggy code because the manager insists on meeting a date is not joy

      Agreed, but I also enjoy getting a paycheck.

    • I actually enjoy most of what you wrote above. Learning. Making sense of things. Putting things right. Massive joy.

  • by evanh ( 627108 ) on Friday November 15, 2024 @05:26PM (#64948915)

    Thanks for the insight.
    The whole sign-up process put me off from trying it out in the first place. I had wondered how the chatbot interaction went when actually using it for coding.

    • by evanh ( 627108 )

      And yes, I do enjoy programming as a hobby. So am not too interested in AI anyway.

  • by KoshClassic ( 325934 ) on Friday November 15, 2024 @05:30PM (#64948923)

    Right now "programming" (such as it is) only still exists as a profession because as programmers we're the only folks who can really sanity check the AI's output, improve it where needed and/or know how to refine the input we give to the AI to get the desired code as output. Or do create code on our own when absolutely necessary because the AI just doesn't produce what is needed. But over time as we use AI more and more to create more and more of the code that we used to create ourselves, are our skills going to diminish to the point where we are totally reliant on the AI and are screwed when it doesn't work correctly? What about in a generation or two from now where the only "programmers" never really have any experience in actual programming?

    • by gweihir ( 88907 )

      That is really nonsense. AI can only create simple code. Not all coding problems are simple. Sure, if you do nothing but simplistic "business logic", AI and then checking the results may do it. But personally, that is maybe 10% of all coding I have ever done. And for more advanced stull, AI does not cut it and you do not either if you relied in AI for the simple things.

  • by fibonacci8 ( 260615 ) on Friday November 15, 2024 @05:31PM (#64948925)
    non-compete contracts and pay that doesn't keep up with maintaining certification has killed the joy of programming

    AI tools are just an attempt to circumvent copyright while also benefiting from copyright
  • by justMichael ( 606509 ) on Friday November 15, 2024 @05:31PM (#64948931) Homepage
    I've been using it as a smarter than the LSP, for providing auto complete suggestions. The first time it spits out a chunk of code that's what you would have written, it's a little spooky. It would be a lot more useful if it had enough local context to adapt its suggestions to match the coding styles in the project.
  • Real programmers only use text editors. I've interviewed a number of candidates who cannot write code on a whiteboard because it doesn't have google. Sorry but that's a fail.
    • by gweihir ( 88907 )

      As long as you do not insist on perfection (syntax checking is the task of the compiler), any programmer should be able to write reasonable code on a whiteboard.

    • My professor for C made us evaluate code on paper for our midterm and final, and for homework assignments I wrote code with a green terminal and compiled, linked it, and ran it from the command line. This was all pre-search engines. I remember another attitude from the time period, which was "if it was hard to write, it should be hard to understand", but I digress...

      With that said, many years later I worked under an engineering lead that took the "real programmers only use text editors" attitude to an ext

    • Real programmers only use text editors. I've interviewed a number of candidates who cannot write code on a whiteboard because it doesn't have google. Sorry but that's a fail.

      This is interesting to me. There are languages where I'm used to text editors and having even context popups is annoying and gets in my way.

      There are others where I get cranky when the auto complete in the IDE stops working because then I have to switch and lookup definitions given I've never bothered / had the need to remember shit.

      Seems people will get used to anything and it isn't apparent to me which is ultimately more productive. Even things it is hard to understand how anyone could possibly find fau

  • No, but I empathize. (Score:4, Interesting)

    by neoshroom ( 324937 ) on Friday November 15, 2024 @05:37PM (#64948941)
    I mostly don't feel the same way, but get exactly what you are saying.

    For example, I used to carefully name all my variables. Now it's almost pointless because the AI will overwrite my variable names and its suggestions aren't that bad. However, if I really wanted to customize variable names I could just tell it and do.

    It does change coding from a slower iterative process to a more frenetic iteration mode.

    But personally I don't see it as it "'just works', or it doesn't" because a lot of times it doesn't work and a series of iterations via the AI get it to the working condition. It's just faster to do it that way than from scratch. Also often the AI will use some method and I just tell it to use another method or to refactor in a certain way and it does. That said, custom coding can have advantages too.

    I doubt it really has to do with being old, and the younger programmers might be worse off, as they may be more relying on the AI without the years of expereince that lets them comprehend what the AI is doing.
  • by sgunhouse ( 1050564 ) on Friday November 15, 2024 @05:44PM (#64948959)

    I learned to code in the late 70s in straight hex (microcomputers were too small back then to come with compilers at 4K our system was expansive for the rime).

    For us old timers, a lot of the joy was in knowing I did this myself. Even library subroutines reduce that, though they are unavoidable on modern systems. Nothing truly wrong with assistants or library references for something you can't do yourself.

    Of course, a professional coder who needs to get a project done on time, that's different. Those of us who code for the pleasure of it are a dying breed.

    • I learned to code in the late 70s in straight hex (microcomputers were too small back then to come with compilers at 4K our system was expansive for the rime).

      Straight hex? Luxury! [youtube.com] I had to flip switches on the front of the mainframe!

  • Because I enjoy result of programming, not the act of programming.

  • ...journalists?

    Are Human Coders Doomed in the Age of AI Programming?
    Will AI Replace Developers by 2030?
    Is ChatGPT the Beginning of the End for Software Engineers?
    Do AI Coding Assistants Know Your Job Better Than You Do?
    Should We Be Scared of AI That Writes Better Code Than Us?
    Can AI Really Fix Every Bug—Or Is It Just Hype?
    Are Traditional Coding Skills Now Obsolete Thanks to AI?
    Will AI-Powered Tools Turn Everyone Into a Software Genius?
    Is This the Death Knell for Learning Programming Language
  • But also realize when you're at work you're going to deliver results. And you won't necessarily love everything about what you are paid to work on. You might not like the technical decisions. Or the priorities that management has pushed onto you. Or the way you have to do it. Or who you have to work with. Or the coding style your coworkers decided you must use. But at the end of the day you do the work, get things done, and deliver on time. Only to repeat the cycle every release. That's the job. Maybe you w

  • by Virtucon ( 127420 ) on Friday November 15, 2024 @06:03PM (#64948995)

    The Gen AI pundits yell "Developers will be 10x faster using our widget!"

    Rushed code, that a developer doesn't understand is a formula for disaster. Sure, repetitive tasks and finishing out a code section that's short is easy enough to comprehend but asking an AI "Copilot" tool to generate a block of code and then not being sure if that code actually works or not doesn't teach or improve the skills of the developer.

  • You're probably not doing anything interesting anyways.

  • I haven't tried out the tools like copilot, but that was my assumption. That they didn't offer ways to understand or verify what they spit out at you... they just gave you code, like a coworker throwing it over the wall for you to figure out and fix all by yourself.

    Recognizing that at least part of your previous joy is gone was good/important. Time for more self reflection I think... to better understand how you enjoyed the work before, and to see if you can still get support or help from something like

  • I can easily understand how it can turn into this. However, in this case, I think the tool is being used wrong. For example -- let's say you write blogs. If you only use AI to write blogs, then eventually you're probably not going to be a fan of writing anymore. And, your blogs are going to turn into garbage on a long enough timeline, as you can no longer discern what is garbage or not. Additionally, I don't really think it's all that amazing -- there's plenty of scenarios in which AI-assisted coding fails
    • Messed up the spacing on this. Repost:

      I can easily understand how it can turn into this. However, in this case, I think the tool is being used wrong. For example -- let's say you write blogs. If you only use AI to write blogs, then eventually you're probably not going to be a fan of writing anymore. And, your blogs are going to turn into garbage on a long enough timeline, as you can no longer discern what is garbage or not.

      Additionally, I don't really think it's all that amazing -- there's plenty of s
    • by MrData ( 130916 )
      Just like Agile was supposed to not be about giving developers more control over their tasks and avoiding unreasonable deadlines, the suits only heard the part about delivering code after every sprint, so that is what they landed on. And the same for AI, the suits are only hearing the part where someone they don't have to manage writes "code".
  • ... and AI writes buggy code. I can write buggy code without any help, thank you.
    • Especially since AI is not going to help you to debug it.

      It's kind of like working with a maniac programmer who quits the company and you have to figure out what the hell he was thinking when he wrote that.

      Been there. Done that. And it can be fun, as long as people aren't breathing down your neck.

  • I found the AI suggestions were wrong more than they were right and having them pop up was so distracting they slowed me down on balance. Maybe I'll try again in a year.

  • AI coding vs. programming, mass electronics manufacturing vs. hobby electronics, LLM translators vs. learning a language, industrial scale agriculture vs. gardening...

    No. Worst case it gives you a sense of accomplishment, best case you find a niche to specialize in and earn big bucks because barely anyone / anything else can what you can (cue the COBOL programmers). And then there is the whole 'build upon shoulders of giants' thing if you're really good, where you can do the fine-tuning and leave all the bo

  • You are right, and it's clear if you look at the bigger picture. Coding is obviously fun, and traditionally companies have offered money and the fun experience of coding in return for a useful product. That fun was part of the reason why software projects work decently well.

    But there's no real reason for fun to be a prerequisite for a person to create good programs. If corporations can automate a sufficient critical mass of the task of programming away to machines, then it becomes more of a rote janitorial

  • I'm enjoying programming far more using it than I was without it, particularly at the application layer (versus system/firmware where I normally inhabit). It can generate a lot of tedious boilerplate/framework code quickly, and while it rarely gets it exactly right, it gets close enough that I can quickly fix it and focus on what I set out to write.

    I never turn on the features that let it suggest code or change my code, they're slow and often annoying. I ask it questions, it gives me answers. I copy/paste i

  • The joy always came from laboring and then the dopamine fix from seeing the end result. At least for me. That's totally possible with AI too .. the scale of what you can produce is increased especially if you know what you're doing.

  • by linuxguy ( 98493 ) on Friday November 15, 2024 @07:20PM (#64949189) Homepage

    People still enjoy woodworking, even though new tools have been introduced that make many tasks much simpler. Some people may like using their hands more and choose to eschew the modern tools. Others prefer using the modern tools. Both classes of people exist in the software development world as well. Some prefer the lower level languages. And some prefer the highest.

    AI perhaps is currently the highest level interface for software development. On the opposite end you have assembly language. Both have pros and cons. There is no one tool or a solution that is a best fit for all developers and will bring them joy.

    I have been developing software for over 30 years. I now use modern AI tools every day. And I don't think I have ever enjoyed programming more than I do now. I no longer have to worry about minutia. At that same time I recognize that some people enjoy that sort of thing.

FORTUNE'S FUN FACTS TO KNOW AND TELL: A cucumber is not a vegetable but a fruit.

Working...