One moral of this story is, there is no such thing as “too easy” for getting things done.
It’s interesting to think about why you wouldn’t automate a production process. I see six overlapping goals that you can pursue when you choose to do something by hand:
Getting things done. Your goal is to achieve the result by any means, and manual work is the only or the best means available.
Optimization. You can sometimes perform a task better with bespoke materials, tools, and methods. This normally doesn’t imply the whole product must be made the same way.
Assigning rank. Your goal is to establish who is the best. Automation is as appropriate as driving a car in a marathon. (You may still try to drive a car in a marathon if formal rather than actual rank is what you care about. Automation can be used for cheating.)
Making art. The execution is in service of an aesthetic goal.
Maintaining skill. You want to learn and then remember how to achieve the result or to be able to replicate it under conditions where automation isn’t available.
Working more pleasantly. Doing things manually can mean less pressure and stress.
There is also a seventh motivation that isn’t really a goal:
Being satisfied with the status quo or stuck in your ways. You don’t want to automate because doing things manually works well for you. Or maybe it doesn’t work well, but as a human you are a creature of habit. Rightly or wrongly, you also aren’t concerned about the competition.
It sounds like the “real programmers” in the Hamming quote who didn’t want to move on from binary to assembly and then to a high-level language wanted to optimize (“it would be too wasteful of machine time and capacity”, so goal 2), were creatures of habit who didn’t worry about the competition (7), and cared about rank (“no respectable programmer would use it—it was only for sissies!”, 3).
What I wonder is, how did it feel for them from the inside? Besides 2, 3, and 7, did they think they were maintaining skill? This is a reason I have heard repeatedly from programmers who moderate their use of LLMs. From a comment by user lesser23 on a recent Hacker News story:
I have found that after around a month of being forced to use them I felt my skill atrophy at an accelerated rate. It became like a drug where instead of thinking through the solution and coming up with something parsimonious I would just go to the LLM and offload all my thinking. For simple things it worked okay but it’s very easy to get stuck in a loop.
I’ve heard similar comments from friends. The concern seems real enough, and I have responded to it by writing some of the code I know an LLM could write for me and by looking for better solutions to my problems than an LLM would come up with.
One moral of this story is, there is no such thing as “too easy” for getting things done.
It’s interesting to think about why you wouldn’t automate a production process. I see six overlapping goals that you can pursue when you choose to do something by hand:
Getting things done. Your goal is to achieve the result by any means, and manual work is the only or the best means available.
Optimization. You can sometimes perform a task better with bespoke materials, tools, and methods. This normally doesn’t imply the whole product must be made the same way.
Assigning rank. Your goal is to establish who is the best. Automation is as appropriate as driving a car in a marathon. (You may still try to drive a car in a marathon if formal rather than actual rank is what you care about. Automation can be used for cheating.)
Making art. The execution is in service of an aesthetic goal.
Maintaining skill. You want to learn and then remember how to achieve the result or to be able to replicate it under conditions where automation isn’t available.
Working more pleasantly. Doing things manually can mean less pressure and stress.
There is also a seventh motivation that isn’t really a goal:
Being satisfied with the status quo or stuck in your ways. You don’t want to automate because doing things manually works well for you. Or maybe it doesn’t work well, but as a human you are a creature of habit. Rightly or wrongly, you also aren’t concerned about the competition.
It sounds like the “real programmers” in the Hamming quote who didn’t want to move on from binary to assembly and then to a high-level language wanted to optimize (“it would be too wasteful of machine time and capacity”, so goal 2), were creatures of habit who didn’t worry about the competition (7), and cared about rank (“no respectable programmer would use it—it was only for sissies!”, 3).
What I wonder is, how did it feel for them from the inside? Besides 2, 3, and 7, did they think they were maintaining skill? This is a reason I have heard repeatedly from programmers who moderate their use of LLMs. From a comment by user lesser23 on a recent Hacker News story:
I’ve heard similar comments from friends. The concern seems real enough, and I have responded to it by writing some of the code I know an LLM could write for me and by looking for better solutions to my problems than an LLM would come up with.
I would never program in the assembly language, but recently I have reverse-engineered an old DOS game, and it was a work of art.
(Off-topic: I didn’t realize that there were so many popular Czech-made computer games: 1, 2, 3, 4, 5.)