Ask Slashdot: Have AI Coding Tools Killed the Joy of Programming? 54
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.
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.
The joy of programming is... (Score:5, Insightful)
...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:2, Insightful)
Re: (Score:3)
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
Re: (Score:3)
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.
Re: (Score:2)
Agreed, but I also enjoy getting a paycheck.
I blame it on my housing, transportation, and culinary addiction.
Re: The joy of programming is... (Score:3)
I actually enjoy most of what you wrote above. Learning. Making sense of things. Putting things right. Massive joy.
Re: (Score:2)
As someone still on the outside (Score:3)
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.
Re: (Score:3)
And yes, I do enjoy programming as a hobby. So am not too interested in AI anyway.
Programming will soon be an obsolete skill (Score:2, Insightful)
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 g
Re: (Score:2, Interesting)
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.
Re: Programming will soon be an obsolete skill (Score:2)
Re: (Score:1)
And for the foreseeable future. Do not believe the lies of people that want to sell you something...
No (Score:3)
AI tools are just an attempt to circumvent copyright while also benefiting from copyright
Re: (Score:2)
What certifications can't you afford on a programmer salary?
It makes for a reasonable auto-complete (Score:4, Interesting)
Real programmers (Score:2)
Re: (Score:2)
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.
Re: (Score:3)
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
Re: (Score:2)
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:5, Interesting)
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.
Young whippersnappers (Score:3)
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.
Re: (Score:2)
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!
Re: (Score:2)
No (Score:2)
Because I enjoy result of programming, not the act of programming.
Re: (Score:2)
A part of me doesn't believe you, but if what you say is true, that's sad. When you say "the result", are you referring to the paycheck? Because that would be ultra sad.
Re: (Score:2)
I meant the end product of my efforts. I enjoy the problem solving aspect, but the end result is the important bit. But so what if it's the paycheck?
Is AI writing click-bait headlines for lazy... (Score:2)
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
Re: (Score:2)
Re: Is AI writing click-bait headlines for lazy... (Score:2)
I figured that there has to some sort of "law" (akin to Godwin's or Moore's, not an actual law obvs) that the answer to any question in a headline must be "no".
Voila: Betteridge's law of headlines
https://en.m.wikipedia.org/wik... [wikipedia.org]
I feel like today has regained some purpose.
Re: (Score:2)
Don't worry, soon AI will replace "journalists" then we'll have AI writing stories:
"Will next gen AI replace previous gen AI?" /s
feel free to enjoy coding on your own time (Score:2)
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
false sense of economy (Score:3)
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.
If you code can be generated by AI... (Score:2, Troll)
You're probably not doing anything interesting anyways.
Makes sense... (Score:2)
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
It is supposed to be a supplement, not replacement (Score:1)
Re: (Score:1)
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
Re: (Score:1)
Re: (Score:1)
Fixing other's buggy code is not joyful ... (Score:1)
Re: (Score:2)
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 disable it (Score:2)
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.
Has * killed the joy of doing it yourself? (Score:2)
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
Exactly right (Score:2)
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
The opposite (Score:2)
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
Umm no it hasnt (Score:3)
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.
Advanced tooling doesn't kill the joy (Score:3)
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.
The Zen of Coding (Score:2)
I'm using it for code review (Score:2)
Advait Sarkar (in CACM) noticed how bad LLMs are at anything creative, and instead suggested we use them for things they’re good at , predicting what humans would say. Especially if they are asked what a critic would say.
And it sort of works!
Rest of the article: https://leaflessca.wordpress.c... [wordpress.com]
The fun is solving puzzles (Score:2)
I learned to program on some funky decimal machines (IBM 1620, Univac SS 90) in machine language, CDC 6400 assembler, graduated to 8 bit assembler, M68K assembler, then C, a bunch of Java, Perl, and who knows what. The farther it got from machine code, the more the fun changed. That Univac SS 90 had a drum for main memory, and 1+1 addressing where every instruction included the address of the next instruction, and optimization could make it hum. The CDC 6400 had all sorts of different kinds of optimizati
Dusted off the compiler today and went to chatgpt (Score:1)
Programming is no longer programming (Score:2)
No Joy in or with AI built code (Score:2)
I got to try several of the AI tools. Can they make code? Sure. Does their code sometimes have mistakes in it? Also Yes.
How does one go about finding the mistake, given they didn't write the code? That's painfully tedious. If someone else wrote the code, they might be able to explain.
I've had colleagues use the AI tools to make unit tests. They can do this too. Funny thing is, their unit tests never seem to find the bugs that the unit tests will detect if a human sits down and writes them by hand.