logoalt Hacker News

mech998877today at 2:19 PM4 repliesview on HN

I disagree with this, and I've been spending time thinking about it because some of my friends had a similar conversation.

The friction itself does not add value. The time spent thinking on the problem does. Friction should be minimized beyond the absolute bare minimum. Programming is a discipline where your workstation is already streamlined, and it is easy to forget where the friction is. Programming is done in a world of pure though, in a sense, so most of the friction already lives in your head, and it is difficult to distinguish effort wasted fighting friction from effort making real progress.

Consider the Wright brothers. They worked iteratively. When they wanted to design an airplane they moved from Ohio to a windy place with lots of loose sand (NC outer banks). Why? So that they could do test runs with good wind conditions (for an airplane that is barely able to fly this matters a lot) and crash with the least amount of damage. They rebuilt the airplane dozens and dozens of times and had a workshop tuned to their needs on location. They reduced friction wherever they could so that they got the most work done that they could with the least amount of distraction.


Replies

fluoridationtoday at 2:37 PM

>Programming is done in a world of pure though, in a sense, so most of the friction already lives in your head

It seems that way, but that's not actually true. A fully greased-up brain would produce just incoherent nonsense decoupled from reality, because it would lack all constraints that would allow it to judge the value of an idea (i.e. how possible and useful it would be to implement in the real world). The friction comes from fitting your ideas into the real world.

>They reduced friction wherever they could so that they got the most work done that they could with the least amount of distraction.

They reduced unnecessary friction. They could have eliminated all friction by imagining a teleporter machine that can send you anywhere instantly and that runs on the hopes of children. But they still wanted the friction of unsuccessful attempts so they could actually build a plane that worked.

edude03today at 2:46 PM

I liken it to going to dieting. If your only goal is to be certain weight, then learning how to cook, learning how to portion, learning to make a meal plan, learning about macro nutrients is all "friction" now that we have GLPs. And maybe using a meal prep service reduces some "unnecessary friction" but you still would have to learn a bunch of useful skills along the way.

Concretely, If your only goal is to produce "software" then learning about design, planning, project management, testing etc is all unnecessary friction when you can just ask an LLM to "make it so"

panarkytoday at 3:10 PM

> The friction itself does not add value

Exactly. I don't have to write binary machine code directly, every zero and one artisanally crafted by hand, to have thought deeply for years about a how to solve a problem.

In fact, choosing the right level of abstraction is essential to my ability to solve the problem.

For most problems, the friction of writing binary code by hand is the wrong level.

And we're discovering that many important problems can be solved faster and with greater quality than can be achieved by dogmatically hand-writing every line of source code just for the friction.

crowdhailertoday at 3:52 PM

I think that friction of feedback and friction of construction are two different things. Having lots of tokens to build things doesn't mean you have more feedback. I'm a bun user I like it. I can't really comment from my use on what the Zig vs Rust rewrite means to me.