We humans are not merely bad at it, we have people who have been doing the work with no desire to be good at it in the first place.
@pikhq Seriously, "thank GAWD I never have to type code into a code editor ever again" is I thought I've had…virtually never!
Sure, there are days when the problem I'm working on is tough, or I'm having to learn some new tool or technique or API which is frustrating. In such moments, would I like a "Make This Work Now" button? I guess so.
But by golly, I *enjoy* programming. And while programming is a lot more than simply conceiving of and typing code, I do enjoy that quite a lot.
Why can't AI do something useful like fill out expense reports or recommend removing people from being forced to attend meetings that are not relevant to them.
@michael @pikhq Sorry, but I'm not buying this argument.
"Coding is a small part of software development: design and analysis is a much larger part for most projects" - with this, I do agree.
However, if you sub out your coding to another person by saying "I need a chunk of code here, that fits these parameters," surely you wouldn't be making the same argument that you personally created it.
The difference is only that you're subbing out to a (deeply problematic in an impressive range of ways) software service. You still didn't create it; you commissioned it. It's just that you commissioned it from a mechanised service instead of from a person.
It's qualitatively not the same thing as writing code in a higher-level language, or even using a Lisp macro to generate the code for you. If it really were equivalent, then it would increase your level of skill over time, rather than causing it to atrophy.
I also didn't say anything about the resulting code being "legitimate," so I'm merely pointing that out as a straw man, and not otherwise engaging with it.
Vibe coding goes a step further than that, though. Not only do you not understand how the code gets from your editor to being executed, you don't understand the code itself. A programmer in a high level language can explain how the program they wrote works, predict its behavior in a case they didn't think of while writing it, and know exactly what they have to do to modify it to do something else. A vibe coder cannot do the last thing except by forwarding the request to their LLM and hoping it understands, and arguably cannot do the first two at all.
I disagree that what vibe coders do is creation for the same reason I disagree that what AI artists do is creation, and it largely boils down to the understanding of the work. A portrait artist knows how to draw a head and knows how to move the nose just a little to the left if they didn't get the shading quite right. An AI artist has to feed the image back into the generator, ask it to do that, and hope.
@michael @KatS @AVincentInSpace @pikhq Correct. You do not know what creating is.
It is not taking the work of your slave and presenting it as your own. Even if the slave isn't human, and especially when it's bad at its work.
@michael @KatS @AVincentInSpace @pikhq LLMs are not tools. A tool is something to assist you in performing a task, not something to do your task for you.
They are the antithesis of tools. They are literally an attempt to create mechanical slaves.
@michael By that logic, having an unpaid intern do all the coding for someone is also good.
That's basically what generative "AI" is doing, it just abstracts the unpaid labor away so you don't see it and you don't confront the exploitation you're participating in.
It's still stolen labor.
They don't choose that option because those jobs pay less or require more hours.
@pikhq I used to. Then it got far, far too complicated for not much reason. It's no longer possible to just write code.
10 PRINT "I FARTED!!!!";chr$(7)
20 CLS
30 GOTO 10
that's the thing tho
coding was always "just a job" to me, it's part of why I burned out
I do enjoy some minor coding as a hobby when I'm free to make actually good software I guess
but the strictures of professional dev do not allow you to make good software
my skills deteriorated because the stuff I wanted to learn to do my job better felt futile, because it would never be adopted, and I'm frankly not doing Java/Spring dev unless I'm getting paid for it
but I'm still not gonna hand-in fucking copilot slop because I have to have SOME self-respect
@annarcana @pikhq IME that depends on the company (namely the type of work/how expressive they let you be). That said, I found it helped to have personal projects that were exciting and completely unrelated to what I did at work.
AIUI one of the marketed features of Java (to management, not programmers/users) was to be able to treat programmers as interchangeable — sadly I don't have a citation, but it explains the lack of features like goto and operator overloading. With that in mind it's unsurprising that despite a decent amount of experience with Java for school/work don't find it enjoyable.
(On the flipside, people who do programming as "just a job" shouldn't be looked down on, but even if LLMs weren't unethical, LLM-generated code lacks the professionalism I'd expect.)