Top
Best
New

Posted by signa11 13 hours ago

How to keep enjoying programming in a world of LLMs(discourse.haskell.org)
126 points | 187 commentspage 3
poisonborz 12 hours ago|
I don't understand these posts. I've never been more excited to program. Everything that I disliked about it disappeared overnight.

Who likes typing code, writing boilerplate, reading bad documentation for nights looking for that small thing, asking around in forums, reading dependency source code, writing trivial unit/ui tests.

And who likes planning, architecting, directing a team, steering and giving advice, reviewing code, designing interfaces and APIs. Coding became more mentally exciting.

LLMs truly took the worst of this trade, and left all the enjoyable things (which they will be unable to do until AGI = for a long time if ever).

girvo 12 hours ago||
> Who likes typing code, writing boilerplate, reading bad documentation for nights looking for that small thing, asking around in forums, reading dependency source code

Me? I enjoy that stuff for what it is. Reviewing code is definitely not the truly enjoyable thing. Writing code, expressing my logic in code. That is enjoyable to me.

ctrlkctrls 4 hours ago|||
And I'm sure elevator operators stood pressing buttons long after they didn't need to...

We're going through a change in software development. People can either move with the times or hang on to their old way of working and age out of the workforce. Either through biological age or just being left behind by those moving with the times.

There will always be those that still think they can code better/faster than the models. It's a combination of professional arrogance, and struggling to let go of a skill that took them decades to acquire which lost its value in a few short years.

It's hard on people, it's hard for those with lots of experience because they are being left behind, and it's hard on the juniors that went into CS thinking it'll be a well paid job for life only to find they aren't needed anymore.

It will take longer than we think. Those of us in the industry have a few years yet, things always change more slowly than anticipated, but all these HN'ers still whining about their emotional attachment to code/coding that can be trivially recreated are just in denial. Are models perfect today? No of course not. Just like most programmers. But they are already better than the majority, and they are just getting better. Coding is over. Software development is of course just fine. We'll just learn new and better ways of solving human centric problems using computers. Just like all the assembly programmers did.

The value of Instagram was never the code. The code was just a means to an end. Well, the means have changed.

I feel for those who lose their livelihoods. That is obviously awful and no amount of "things change" rhetoric will ease that pain, and I have no ideas for those. Sleep under your desk and buy the market with every cent you earn for as long as you continue to earn and hope the market grows 10x in 10 years like Musk predicts and just hope to be on the right side of the industrial change.

asjqwz1 3 hours ago||
Says the pro-Elon shill who is just here to boost xAI and demoralize people.
poisonborz 12 hours ago|||
But you can still do that, much easier, with plain human words.

/yes I know a coding language is 100% better at expressing algorithmical logic, but it is definitely harder for humans to comprehend and express cleanly at a consistent rate. machines do that way better/

duskdozer 12 hours ago|||
No, it's actually much, much harder unless you are ignoring any of the details, which are the things that actually matter ultimately. When you were first learning did they not do the "tell me how to make a PB+J sandwich" or whatever to show you the imprecision of plain human words? You may comprehend the LLM I/O easily, but you don't know that that matches what's actually happening.
aldanor 10 hours ago||||
It's like saying who likes to ride a bicycle in the world of cars, you can do it much easier with a plain steering wheel.

Well... sure it's more efficient (although in some cities and certain routes it's not; same with coding and LLMs). But some of us just love riding the bicycle and enjoying the nature, you know. Perhaps even strengthening our muscles as we do it, as a healthy side effect.

Matl 12 hours ago||||
> but it is definitely harder for humans to comprehend and express cleanly at a consistent rate

Part of the skill and joy of programming is to constantly work on improving my ability 'to comprehend and express cleanly' my intent in code.

I'd argue LLMs are anything but consistent.

dylanowen 8 hours ago||||
I definitely comprehend coding language better/faster when I want to fully understand a program. I usually skip docs and go to the sources when possible. I think it's deeper than just the code though, the biggest thing I haven't seen in using natural language is good organization to express the program.
cautiouscat 12 hours ago||||
I think the premise is that yes, you can do that. However many don’t and many in larger corps are pushed expressly to not work that way.
Yoric 11 hours ago||||
> But you can still do that, much easier, with plain human words.

Not really? In my experience, to get anything precise done, you have to fight the LLM every step of the way. And then when you come back after a few days, you realize that it has overwritten the carefully crafted code or data structures.

thunky 10 hours ago||
> And then when you come back after a few days, you realize that it has overwritten

1. Review what it writes as it writes it

2. Give it a smaller, more focused, scope to make changes

Or, keep vibing but then don't get mad about it.

Yoric 10 hours ago||
Oh, if I had the ability to do these things, agents would be much nicer to use.

Sadly, at my current company, this doesn't seem to be acceptable practice.

tome 9 hours ago||
What do you mean? Because management says it makes you too slow? Or is it unacceptable for some other reason?
q3k 12 hours ago|||
> But you can still do that, much easier, with plain human words.

Skill issue.

lolakutty 9 hours ago||
Luck issue..

If you are lucky, your question have a good representation in the training material and the randomness is on your side..

But the LLM won't tell you that, so until you test your luck by taking the answer from LLM and using it, you never know..

But then, the AI company would have run off with your token payments...

broodbucket 12 hours ago|||
That's great for you, but you're completely devoid of empathy if you can't understand these posts. For many, many people, the things that are left are not the enjoyable ones. People have built hobbies and careers around doing something they love and its relevance is evaporating at an unprecedented rate.
na1026 12 hours ago||
[flagged]
daemin 1 hour ago|||
If all you do is write requests and then have the LLMs spit out the code then you're not a programmer, you're a middle manager. So maybe you never actually wanted to be a programmer but instead you liked having things built?
empthought 41 minutes ago||
I think you’ve forgotten about the “software architect” role.

If all you do is write requests and then have the LLMs spit out the code, then you’re not a programmer, you’re a software architect.

Middle managers have to supervise people, otherwise they are not managers.

Yoric 11 hours ago|||
> And who likes planning, architecting, directing a team, steering and giving advice, reviewing code, designing interfaces and APIs. Coding became more mentally exciting.

I love these parts. But in my experience, LLMs break much of that.

Planning/architecting? Great. So far, I haven't found any agent that actually follows the plans set out, though. They get something wrong, and it snowballs from here.

Directing a team, steering and giving advice? Absolutely. Some of my greatest achievements involve mentoring. But human teams learn from their mistakes, grow up and contribute insights. Agents don't.

Reviewing code? Well, maybe not so much fun, but it's usually a good way to understand what's going on, and to share experience. Except with agents, you need to spend most of your brainpower seeing through the misleading comments and documentation and choices and sycophancy, and the agent never learns from its mistakes.

Designing interfaces and APIs? Absolutely. Yet every time I look at code modified by my agent, I see that the contracts (internal or public) have been broken by the latest edits.

In my experience, LLMs can be very useful, for refactorings and as learning and review assistants, and sometimes as replacement for missing documentation. But codegen is the worst way to use them.

na1026 12 hours ago|||
> Who likes typing code

It really does seem like the target audience of LLM users are people who never learned to use Vim.

> And who likes planning, architecting, directing a team, steering and giving advice, reviewing code, designing interfaces and APIs.

Why would anyone pay you to work for them if you aren't willing to do these things? This is the entire job.

msdz 12 hours ago||
Not commenting on the first “who likes” of whether typing out code is enjoyable (because I think that’s inherently personal preference [0]), but I think the second category is to be understood as “things LLMs enable you to do more of”, not things the author is unwilling to do. So actually, you’d agree with them there.

[0] Okay, I am going to comment on it some more: For me, it also depends on whether I’m “forced” to do the code writing (or reading) because I just want the resulting output or need to modify the program to my wishes; or whether I want to do it because it fulfills me, is interesting, teaches me something new, etc. Both can be true for one person at different times/in different contexts.

reeredfdfdf 12 hours ago|||
Why exactly do you think LLM'S will be unable to do planning, architecting, code review, interface and API design? Given good enough specs, they absolutely can do these things.

I feel like coding will be dead soon, and what will be left are project management / team lead / product owner kind of jobs where you craft specs and steer AI agents on very high level. I would hardly call that "coding" anymore.

What I dislike of the status quo is being stuck between traditional programmer, and such project management role. With AI coding I can't really get into a flow state anymore, and without flow state it's hard to focus on the details.

morningsam 7 hours ago||
>I feel like coding will be dead soon, and what will be left are project management / team lead / product owner kind of jobs where you craft specs and steer AI agents on very high level.

And these will be gone, too, a couple months later. Or possibly even at the same time.

duskdozer 12 hours ago|||
>Who likes...

People other than you, I guess. I think your first chunk is a bit of an unfavorable perspective, but still I would take that over the second every time.

glimshe 12 hours ago|||
I'm with you. During most of my career, I was considered very technical and a good coder, but I never really loved the slowness of it. I enjoyed designing solutions but found "putting them into code" tiresome because for me the fun is in actually solving the problem.

But it's clear that many people feel otherwise. Software engineering has many classes of tasks and the difference in opinions about AI seem to exist because different people like different aspects of it.

noufalibrahim 12 hours ago||
Can you draw such a clear line? I put out some thing to experiment with an idea and then iterate over it till i get a solution and then spend time trying to polish that for production use. Thinking and coding are very rarely two separate states for me.
glimshe 11 hours ago||
It's not that clear and still involves coding. But as I start coding and modules/APIs/classes take shape, it gets to a point where I say "ok, from here on it's just filling in the blanks".

But filling in the blanks can still involve a lot of grindy, time consuming work where you iterate through collections, build parameters for other APIs, check invariants etc. All of that stuff is boring to me.

What I'm trying to say is that most coding tasks require "senior level thinking" and "intern level thinking". The latter can sometimes be the majority of the work and I don't want to do that anymore.

adithyassekhar 12 hours ago|||
I’m not sure which group you consider worst but LLMs already does both. I can only vouch for Opus 5.5. It just needs someone to tell it to do it that’s all. And I am the most anti AI person this post is targeted to.
gspr 2 hours ago|||
> Who likes typing code, writing boilerplate, reading bad documentation for nights looking for that small thing, asking around in forums, reading dependency source code, writing trivial unit/ui tests.

Me! I do!

> And who likes planning, architecting, directing a team, steering and giving advice, reviewing code, designing interfaces and APIs. Coding became more mentally exciting.

I'd rather eat rusty barbed wire. I'd avoid your middle manager hellscape even if if doubled my salary, I swear!

krawat3 12 hours ago|||
> Who likes typing code, writing boilerplate, reading bad documentation for nights looking for that small thing, asking around in forums, reading dependency source code, writing trivial unit/ui tests.

I, for one, liked it. I decided to pursue a career as a software engineer because, for all the downsides, I actually enjoyed working with code so closely. It really allowed me to learn and know the code that I wrote.

Whenever I'm using LLMs for code generation, the one huge downside I notice, is that even if I review everything line by line, I don't get the same "I know precisely how it works, because I wrote it" feeling.

I really wonder what the implications of this will be. For instance, if the young devs who are just entering the field will actually be able to write code on their own? Or maybe it will truly not be needed a few years from now?

duskdozer 12 hours ago||
I think there will be a divide. The SaaS of the future can probably absorb much more LLM use with less knowledgeable devs, because the product not being trash was never critical; it just has to be good enough that Sales can keep convincing people who won't use it to buy it for their orgs. But for things that actually need to be right, there will always be a need for devs who can understand and write code. There has already been some pullback among a few of my colleagues who were riding high earlier this year because what we're working on is more of the second type.
lolakutty 9 hours ago|||
>Who likes typing code...

Mmm..almost everyone who loves programming. If I hated typing code, I would not been a programmer, because it used to involve a lot of typing.

Or else you did it for $$$. But then don't assume every one who programs hates typing code.

darkstarsys 2 hours ago||
Or maybe you did it because you had ideas for things computers ought to be able to do, and needed to get those ideas into the computer?
regentbowerbird 12 hours ago|||
Coding is solving puzzles creatively. When trying to achieve an overall goal, I get some easy problems that remind me how much I've improved since I started out, and some hard problems that are intellectually stimulating. Debugging, reading documentation or source code feels a bit like being a fictional detective running an investigation; plus I'm not just improving my understanding of the system but connecting with other humans through understanding their intent. And finally, I get to choose which solution to implement and how, therefore expressing myself and my own taste.

I come out of it intellectually stimulated, with a sense of achievement and improvement and increased understanding; with also a bit of human connection, and creativity. And of course I also get a working program, so I feel productive too.

If you don't understand this you never enjoyed programming per se. It's fine, people like different things. But I think you might be mistaken calling whatever your job is "coding" or "the trade" because I get the impression it just isn't.

bigstrat2003 4 hours ago|||
> I don't understand these posts. I've never been more excited to program. Everything that I disliked about it disappeared overnight.

Based on your post, you never liked programming in the first place. You liked having software. Typing the code in, reading the documentation, all that stuff is programming.

amelius 12 hours ago|||
You should check out HandWaveLang.

It doesn't exist yet, but you could easily create it.

Martin_Silenus 5 hours ago|||
> Who likes typing code

Hackers.

atmavatar 8 hours ago|||
> And who likes ... reviewing code

I was with you on your second list until this part. It feels like a poison pill rider that's added to a bill in Congress, because I've always found code review to be the single most soul-sucking aspect of the job.

I'll grant that may be at least partially due to poor practices at the places I've worked, but semi-regularly having large PRs that take hours to comb through and where you either rubber-stamp it or look like the bad guy (because you're retarding release velocity) has never been particularly fulfilling.

poisonborz 7 hours ago||
I had great discussions in PRs, debates we would never have in real life conversations. In these times review is maybe the last holdout to think teams have control over the code. AI made also this nicer by making summaries and answering the stupid questions without shame before turning to the author with confident criticism.
cautiouscat 12 hours ago|||
It sounds like this message isn’t for you then?
HeavyStorm 9 hours ago|||
Spoke like a true manager.
qmmmur 7 hours ago|||
Sounds dreamy. Let's plug in and "write" code without interacting with anyone ever. That way you can further abstract yourself from all meaningful connections to become more efficient. Seriously cannot get inside the head of people like you.
vrighter 8 hours ago|||
that's because you are not programming
intrasight 13 hours ago||
After programming for 40 years, my brain has many language parsers. But languages and interfaces and classes evolve and it been a huge productivity boost the use LLMs for coding.

I use AI like StackOverflow on steroids. And like using stackoverflow, I do it in a browser and I don't let the LLM touch my code.

I, personally, love programming more than ever!

Matl 13 hours ago|
Problem is in many places the AI push is to use agents for everything and so instead of writing code now you end up reviewing what the LLM generated for most of the day.
joedwin 13 hours ago|||
I dont have bandwidth to check ai made code
enos_feedler 13 hours ago||
that's okay! nobody had the bandwidth to check compiler generated machine code either so we just stopped doing it
tpetry 12 hours ago|||
Its a false premise so often repeated. I am really tired. Compilers are ruleset: If you pass it one statement it'll produce the same output all the time. Its easy to verify it works. And if enough people have used it before and found no problems, there probably aren't many. Spoiler: People always find niche bugs.

But an LLM will generate you two completely different things today and tomorrow. Heck, even if you stash its changes and redo the same prompt.

They are NOT comparable at all.

enos_feedler 12 hours ago||
Even though I disagree with (when I worked on CUDA at nvidia if I ran the TOT compiler on the same shaders one day and the next they could often change), the point is not to compare the two things side by side. It's just to say there are lots of times in life where for whatever reason we can give up old jobs.
tpetry 10 hours ago||
Oh I dont disagree that it does replace some jobs. Why use junior developers when AI generates the same quality?

Just that comparing LLM to a compiler is nonsense. Because one is deterministic and the more using it, the better the quality will get.

Matl 12 hours ago||||
Compiler generated machine code is however going from something (fairly) well defined (higher level representation) to something else about equally well defined (lower level representation).

In that sense it's a lot closer to translating Italian to English than what LLMs are doing.

I trust LLMs a lot more if I have a complete Go program I want them to rewrite in Rust.

bigstrat2003 3 hours ago|||
Yeah, but compilers actually work reliably. LLMs do not.
red75prime 1 hour ago||
Programmers don't work reliably too.
teaearlgraycold 13 hours ago|||
I find mostly what I do is think about how to improve the product, what the user wants, and what information the LLM needs and how to get it into the context window.
Matl 12 hours ago||
Sure. Ultimately it's still you who is responsible for the code you ship I assume, no matter how it came about.
musicpulsedev 2 hours ago||
You keep doing it regardless of LLMs, use them to your advantage
Philpax 13 hours ago||
Appreciate the read, even if the workflow's not for me personally. I've found that I'm just not that interested in writing the code by hand now that the option to not do so is available - but I totally understand people who still want to!
geraldwhen 13 hours ago||
It's over. LLMs can produce any algorithm, any tech stack, any concept in seconds, minutes, or hours.

Writing code is like trying to build a house without powertools. Could you do it? Sure. But no one ever will, for most values of no one.

physicallyIllfr 12 hours ago||
I repeat for the millionth time, not everything is web dev.
jesse_ash 2 hours ago|||
Even with web projects, the issues of LLM coding tendencies and its lack of product 'taste' or whatever you want to call it are apparent. Janky UX, poor information transmission, bloated modules... it's just easier to sell web-based AI output because it's visual and interactive, and we are easily impressed by bright colours smooth animations.

I won't argue that the web is more 'capturable' by LLMs, though. It was maybe slightly out of reach by a large cohort of developers who wouldn't have considered themselves "UI people" (or who scoffed at it for various reasons), but now is well within vibe-territory.

duckqlz 12 hours ago||||
This comment literally forced coffee through my nasal passageway as laughter erupted from my mouth.

Thank you.

lensecat 12 hours ago||||
Indeed, there are many other more varied domains.
adithyassekhar 12 hours ago|||
Are no one using these models outside web?
lensecat 12 hours ago||
Of course they are, but the quote "LLMs can produce any algorithm, any tech stack, any concept in seconds, minutes, or hours" is more true there than in other domains. "Any concept" is the most laughable.
theblazehen 11 hours ago||
There's many fields where LLMs perform better than webdev. Personal examples including embedded development and reverse engineering
tankenmate 12 hours ago|||
Indeed, the OP's point seems very focused on programmers enjoying programming. And that's a perfectly laudable goal, but obviously this then means that the goal is programmer enjoyment, satisfaction, etc. If the goal is code that allows the user to benefit while also being correct and secure, then that drastically changes the economics and hence potential solutions of what parts of the work should be done by a LLM agent and what parts of the work should be done by a human agent. Economics is the study of the allocation of scarce resources to satisfy human wants; so what you want from code determines a great deal of how to get there with the greatest benefit and the least cost.
alfanick 12 hours ago|||
This comment highly resonates with me. I strongly believe coding by hand (defined as an act of writing computer code in some programming language) is moreless obsolete. I.e. my skill to implement dijkstra or quicksort in 10 minutes at 1am in 10 different languages while being hangover/drunk is absolutely worthless now. Software Engineering itself is more than just coding, the creative (and well engineering) part is still there.
lolakutty 10 hours ago|||
>Writing code is like trying to build a house without powertools.

You know, it is called "soft" for a reason...

bigstrat2003 3 hours ago|||
> Writing code is like trying to build a house without powertools. Could you do it? Sure. But no one ever will, for most values of no one.

If LLMs could be relied upon to produce a good result every time, then they would be like power tools. But they can't, so they aren't. Nobody would use a cordless drill that has a 10% chance of the drill bit suddenly moving several inches to the left of where you were aiming.

mycocola 12 hours ago|||
I think it’s more analogous to view LLMs as taking steroids while not going to the gym.
na1026 12 hours ago||
The shirtless body of the average LLM user: https://nypost.com/wp-content/uploads/sites/2/2022/07/elon-m...
112233 12 hours ago|||
it can not not? moreover, it can totally ruin existing invariants, introduce dead code, falsify tests and sabotage further work by poisoning comments and documentation in a few hours.

Power tools cannot "produce any house in hours"

na1026 12 hours ago||
Don't concede the "power tools" analogy. LLM are not capable of building maintainable software.
bluefirebrand 13 hours ago||
So what are people like me, who fall into "some values of no one" supposed to do?

I guess just blow my brains out? Just.. Thanks for trying man, but you picked the wrong thing to specialize in, now you're completely redundant and worthless to society. Here's your cyanide pill?

God damn I'm so bitter about all of this. I was doing so well for a bit now I feel like I've completely wasted my life.

tchalla 13 hours ago|||
I remember the conversations a few years ago when tech automated many other fields and they asked the same question. What did they do? You could ask them.
adrianN 12 hours ago||||
There is plenty of historical precedent for machines replacing professions. You could read what those people did and how well it worked.
bluefirebrand 11 hours ago||
I'm not an expert, but I'm pretty sure it never worked out great for many of those people regardless of what they did.
adrianN 8 hours ago||
That is kind of my point.
bluefirebrand 7 hours ago||
Why exactly do you think I'm so bitter?
dosisking 11 hours ago||||
Alternatively, you can listen to Jimmy Buffett's A Pirate Looks At Forty
Ma8ee 13 hours ago||||
Society is for people, people like you. Not the other way around. And your value to society is definitely not measured in what stockholder value you can produce for an employer.
unified101 12 hours ago||
> value to society is definitely not measured in what stockholder value you can produce

This is exactly the value of a person in all capitalistic systems. If we want to change this we need widespread socialism / UBI. Maybe Georgism.

The fact that you're a good friend or partner to someone definitely has value, but not something anyone cares about.

reeredfdfdf 12 hours ago||||
This is why societies should make it as easy as possible for people to retrain / re-educate themselves. I highly doubt most white collar workers graduating today will be able to do what they trained for until retirement age. Programmers may be among first to see serious reduction in employment, but other office workers will follow.
bluefirebrand 8 hours ago||
If I knew what to retrain into I would sign up immediately.

Right now I'm just at a loss. I've never wanted to be anything other than a programmer before.

quikoa 13 hours ago|||
LLMs can produce some incredible bloated and convoluted pieces of code if one isn't careful. Even to the point LLMs become useless. Blindly using these 'powertools' is a recipe for disaster.

We'll already see the hype to start cooling down. If you're okay with cleaning up messes you need not be so pessimistic.

Leonard_of_Q 12 hours ago||
Yes, well, so can humans given the "right" circumstances, e.g. "enterprise" software:

https://github.com/enterprisequalitycoding/fizzbuzzenterpris...

Assuming the code is produced to serve human needs there will be humans in the loop somewhere. Not nearly as many as before and not in the same roles but they will be there

The advent of the Spinning Jenny, water frame and power loom (etc.) changed textile manufacturing for good and made the end result so cheap that it is now seen as disposable. There are still some people in the loop controlling the machines but not nearly as many as before and also not really the same people since it takes a different skill set to keep a textile production line running than it takes to spin and weave.

The same is true for the advent of the phototypesetting machine (Linotype etc.) and the offset press which irreversibly changed print production. There are still people in the loop but not nearly as many and with a different skill set.

Now what about the "Coding Johnny"?

Generative models are now doing the same to coders, irreversibly changing the software production process. There will be far fewer people involved and those people will have a different skill set. Software will become disposable, more like RNA then DNA, if the specifications change the Coding Johnny will churn out a new version.

quikoa 11 hours ago||
> Yes, well, so can humans given the "right" circumstances, e.g. "enterprise" software

The difference is scale. Letting LLMs go out of hand is like the movie Fantasia. Sure people can make a mess on their own but with LLMs can do so much worse in such a short amount of time.

> Generative models are now doing the same to coders

Programming involves quite a bit more than just typing. However, typing the code does help with understanding. Once we stop understanding code because it's just generated AI slop good luck fixing the mess.

Now that even Anthropic and OpenAI called for slowing down. It's obvious that we're past peak hype and realization of the cost of LLMs will set in.

xdavidliu 10 hours ago||
> Since people have mistaken my texts for LLM-generated before, I’ll tell you that it is 100% human written without any AI-assistance.

> This is the game changer.

> This is not communication. It’s a tool output.

Not saying I'm 100% sure, but those seemed slightly sus to me

senfiaj 12 hours ago||
I think since LLMs make code generation cheaper, we are left with more complicated, often more socially demanding tasks. Programming is becoming even less "leave me alone and let me write code" (on average). This can lead to burnout for many people, but this exploitative capitalism doesn't care.
gkcnlr 2 hours ago||
People just like to spill out their justifications on how they interact with ai and generally try to be agreeable in their comfort zones until they get bamboozled by actual market demands. No competitive structure is willing to pay more (to you) that could be replaced by lower cost means to maximize profits. This is basic economy 101. This article seems a huge cope to me IMHO regarding the advice it gives. Programming is mostly solved, although in a very anti-humane way IMHO. Hobbyist means could justify it in the remaining time...

I just pray open weight wins at the end and people actually utilize their ai and own their ai.

sparrowidle 13 hours ago|
Agreeing with the means/end framing, and the bit that's missing is that most of us are both depending on the day. I'll happily let it generate the CSV parser and still want to hand-write the tricky state machine.
More comments...