Personally, I think a lot of the enjoyment comes from learning to overcome challenges. Jumping in to an unfamiliar problem space, sucking at it, then grinding until it all clicks.

Generative AI takes away the grind, which takes away the learning. How do I master a new language if I'm expected to code via an LLM from day 1?

It's also well understood that the act of writing is when thinking actually happens. You have new ideas, opinions form, and so on. I think it's the same with writing code. But when you're not writing code any more, you don't go through this process.

I wonder if an LLM-authored project would even end up solving the same problems that a human-authored project would? If a human didn't write the code, then a human didn't have the chance to think in the same way. They didn't spend time trying to think of a good variable name, which made them realise the whole premise was wrong...

Agreed, there may be people working with their LLM tool to learn something new. In my experience this isn’t the way these tools are marketed, from where I sit it looks like this is being discouraged. If you aren’t really learning anything then all you get at the end is the product. For a certain type of person this is just not enough.

I bet people generated solutions end up significantly different from AI generated solutions. People learn more about the problem as they work it through and they don’t always end up with the thing they were imagining when they started.

> I bet people generated solutions end up significantly different from AI generated solutions. People learn more about the problem as they work it through and they don’t always end up with the thing they were imagining when they started.

Exactly!

And to be clear, you can learn a ton from LLMs. An expert teacher with infinite patience -- what an amazing thing. But there's a different kind of learning that only happens with practice, and that's what you don't get when a computer does the thinking.

Your brain is hardwired to find shortcuts. Once you have an LLM at your disposal, it'll be real hard to abstain from using it to do the hard bit.

Someone on Twitter put it well: using an LLM to learn is like using a forklift to lift weights in the gym. Yes, action is happening but the point of going to the gym is not to ensure weights get displaced up and down.

That's a bizarre analogy. If you're actually committed to learning (vs having the LLM spit out code you don't read), using an LLM as a teacher is more like working out using weight machines vs dumbbells. Just two different methods of arriving at the same destination, with different pros and cons.

>It's also well understood that the act of writing is when thinking actually happens.

For me the more interesting and productive thinking happens when I'm trying to understand what I want the code to do, not when I'm thinking about the implementation details.