Comment by 13415

4 days ago

I've tried vibe coding and hate it. I guess it's okay for people who are only interested in the result, but for me it takes all the fun out of programming. It doesn't feel like it has anything to do with programming at all. I will continue to "vibe code" out of necessity - saving time and achieving more than I can on my own. But I cannot possibly understand how someone could consider it fun.

There are two kinds of woodworkers/carpenters. Let's assume both need a table.

The other grabs some wood, runs it through electric planers, chops it with a circular saw and screws it together. Nice, sturdy fast, problem solved over a weekend because the glue had to dry, next time they might use biscuit joins to make it faster. This is the AI programmer.

The other enjoys working with wood, they pick the perfect pieces of a specific wood where the grain matches in a pleasing pattern. Each one is hand-planed to perfection. After that an intricate joinery method is carved into the relevant places and carefully glued together with a natural glue so that the woodgrain matches and the join is practically invisible. A work of art. It also took a month to complete. This is the non-AI programmer.

Both solve the same problem, there is now a table in the world where people can sit and eat.

But. If you were to sell the table and still get compensated fairly, the latter table will be VERY expensive. Same with code. How many projects are there were you can use "this code is hand-crafted and every line beautifully thought of" as a selling point when the competition is using AI and just churning out solutions, even though the code might be basic and not too maintainable - but passes all the relevant tests.

its also trading one problem for another. when manually coding you understand with little mental effort what you want to achieve, the nuances and constraints, how something interacts with other moving parts, and your problem is implementing the solution

when generating a solution, you need to explain in excruciating detail the things that you just know effortlessly. its a different kind of work, but its still work, and its more annoying and less rewarding than just implementing the solution yourself

  • > when generating a solution, you need to explain in excruciating detail the things that you just know effortlessly

    This is a great way of explaining the issue.