This is why I believe we're going to need better tools for reading and exploring codebases

"Writing code is easy. Once you have a solution in mind, and have mastered the syntax of your favorite programming language, writing code is easy. Having an LLM write entire functions for you? Even easier. But the hard part isn’t the writing. It’s the reading. It’s the time it takes to load the mental model of the system into your head. That’s where all the cost really is."

https://idiallo.com/blog/writing-code-is-easy-reading-is-hard

Writing Code Is Easy. Reading It Isn’t.

Writing code is easy. Once you have a solution in mind, and have mastered the syntax of your favorite programming language, writing code is easy. Having an LLM write entire functions for you? Even eas

Ibrahim Diallo Blog

It's another way in which LLMs reflect the misprioritisation in dev learning, itself a reflection of the economic dynamics.. we always focused too much on writing code over reading it, and this production line mentality is why anyone would believe a machine that generates code could replace a developer

We're having to fully articulate the skills in building software for the first time

@sue

This is my confusion when I talk to people who have been "learning vibe coding" I have them describe what they did and it seems they have an LLM write some provisional code for them then they revise it and fine tune it so that it does what they want.

Which is just... coding. Do they think people code without looking at examples, libraries, specifications?

If they don't do that second part then they probably don't have a program that does what they want and they did not do any coding.

@futurebird Totally, using this stuff successfully is in practice indistinguishable from coding..!

@sue @futurebird

A lot of vibe coding statements sounded to me like a slot machine:

They look at the end-user visible properties (e.g. the GUI or some desired result), then pull the lever again if it's not what they want.

If vibe coding was generating a simple prototype (with the understanding that it needs to be cleaned up and checked and refactored and so on), so they have something "tangible"... I think I would be totally okay with it.

@wakame @sue @futurebird it is a slot machine, however the payouts are quite consistent. And the big failures are due to missing my intent.

But a lot of those cleanups are also achieved via the llm. The places where I have to go back in and “hand” code corrections are getting smaller.

@Jmj
Really? The thing ignores parts of my promt regularly and/or just proposes terrible solutions. I started just asking for very specific things by now, and then copy pasting code and debugging myself - just because "hidden" unintentional changes take so much time to fix. I have a small part of an app that I code using LLM, and I am so glad I can do the rest with low-code.
@wakame @sue @futurebird
@sue @futurebird except, in my case anyway, I generate 10x as much code than if I’d written it without the #llm

@futurebird @sue 💯

I think the refining, looking at libraries, examples, specifications is a thing that’s been made so ancillary and incidental and individual. As if it’s as a weird thing only you do, that no one else does, which is maybe even a distraction from the real work of TYPING.

We’ve taken the part of the work that actually allows working software to get made and de-languaged it. We’ve made it the elephant in the room

@anthrocypher @futurebird @sue

All this!! It’s weirdly disorienting to have people •finally• yelling from the rooftops the things I’ve felt like a voice in the wilderness trying to teach for the last 15 years.

@inthehands @anthrocypher @futurebird oh lol hard same, it's painful but also kind of cathartic to see how clearly what we've known was wrong with coding education play out like this

@sue @anthrocypher @futurebird

Totally! Cathartic and also heartening to know that I wasn’t the only one advocating for some of these ideas after all.

@inthehands @sue @futurebird idk y’all, we keep on our beat and it’s possible the rise of LLMs in software creation can be an opportunity for driving forward what was always most human in all this

@futurebird @sue The distinction, I think, is whether the example contains a hidden footgun.

When you are searching out examples the old way, you have (potentially) a lot more context to evaluate trust:
* who wrote it?
* what was it for?
* what assumptions does it make?
* what issues / comments did people have with it?

With an LLM, as far as I know, the only context you get is, "the model predicted this as the most likely output for my prompt and any system prompt it has."

I'm a noob though.

@futurebird @sue yes totally agree it’s just coding by another name.
But I do think there are two extra things going on. One is that the vibe part, you are feeding the llm very high level descriptions of the intent, not move value A to location B level stuff. And two the coding part, feels much more reading/reviewing code with small tweaks. You’re not generally banging out 100s or 1000s of lines of code.
(Note to self… read original post in thread before replying 😉)

@futurebird @sue
I dunno, this actually makes more sense to me than any other description of 'vibe coding' I've heard.

Some people really struggle with "the tyranny of the blank page" and will always start with a template or tutorial even if it has no relevance to what they're trying to accomplish.

@apLundell @sue

Also let's not act like horrible programs that are a bunch of libraries and functions all smashed together by someone who doesn't totally understand what they are doing without regard for elegance or efficiency is anything new. It's just what happens when someone tries to solve a problem with code that's beyond their expertise in programming or experience with those tools. It can also be a step towards learning.

@apLundell @sue

Go for it! Just... please not with anything important that other people will count on. Control the lights in your house or something.

@futurebird @apLundell That's where my mind is at too, it's another wave in the dependency-driven way of building.. And I really want to spend time working on learning pathways that start with code someone generated
@futurebird @sue I wonder if the success of "vibe coding" (for some value of "success") is a sign that our systems have just gotten so big and unwieldy that no one can wrap their arms around them anymore. That we need those starting examples more than ever.