Live data from Hacker News

Write less code, be more responsible

blog.orhun.dev

101–110 of 135 posts

Re: Write less code, be more responsible

#101

I’m working as a single solo developer of a tiny video game. I’m writing it in C with raylib. No coding assistants, no agents, not even a language server. I only work on it for a few hours during the week. And it’s progressing at a reasonable pace that I’m happy with. I got cross-compilation from Linux to Windows going early on in a couple of hours. Wasn’t that hard. I’ve had to rework parts of the code as I’ve progr…

I've been developing a moderately popular (for an indie) game for over 4 years at this point (full time). C++, SFML, SQLite. Same as you: no coding assistants, no agents, etc. I also don't use git. [1]

One of the largest speedups is from how much of the codebase I can keep in my head. Because I started from an empty C++ file, the engine reflects how I reason and organize concepts (lossless compression). Thus most of the codebase is in my brains RAM.

I don't see how LLM agents are going to improve my productivity in the long run. The less a person understands their code (organized logic), the more abstracted the conversation is going to become when directing an agent. The higher up the abstraction ladder you go, the less distinct your product becomes.

[1] And very, very rarely have I wished I had it for a moment. Not using git simplifies abstracted parts of development. No branches, no ballooning of conceptual tangents, etc. Focus on one thing at a time. Daily backups and a log of what I worked on for the day suffices should I need to revisit/remember earlier changes. I've never been in a situation where I change I made over a week ago interfered with todays work.

Re: Write less code, be more responsible

#102

I’m working as a single solo developer of a tiny video game. I’m writing it in C with raylib. No coding assistants, no agents, not even a language server. I only work on it for a few hours during the week. And it’s progressing at a reasonable pace that I’m happy with. I got cross-compilation from Linux to Windows going early on in a couple of hours. Wasn’t that hard. I’ve had to rework parts of the code as I’ve progr…

This:

> I don’t really understand the, “more, better, faster,” cachet to be honest

And this:

> I’m working as a single solo developer

...I believe explain it all here. You likely are not beholden to PMs, CEOs and the like. Of course you can go at your own pace. I am actually puzzled that you don't understand that aspect yourself.

> The economics of throwing out 37k lines of code a week is… stupid in the extreme

Again, bosses. CEOs have 14 calls a week with potential prospects and sometimes want demos, sometimes they sign quickly and want a prototype, and sometimes they arrange a collab with a friend or family. Then 3 weeks later the whole thing falls apart and you have to throw it away because it's getting in the way of delivering what actually still pays the bills.

I am not the CEO. I try making his visions come true. I don't get to make the calls on whether 37k of lines will be quickly churned out and then deleted some weeks later.

I think your comment is overly focused only on the coding/programming aspect of things. We don't exist in a vacuum. May I ask how do you make your living? That might shed extra light on your trouble understanding the inevitable churn when writing code for money.

---

All of this does not even mention the fact that I 100% agree that less coding lines == less trouble. Code is generally a liability, I believe every mature dev understands that. But often we are not given a choice so we have to produce more code and periodically compress it / re-architect it (while never making the mistake of asking to be given time to do so because we never will).

Re: Write less code, be more responsible

#103
post #50

Earlier quoted context omitted.

imo a question is, do you still need to understand the codebase? What if that process changes and the language you’re reading is a natural one instead of code?

> What if that process changes and the language you’re reading is a natural one instead of code? Okay, when that happens, then sure, you don't need to understand the codebase. I have not seen any evidence that that is currently the case, so my observation that "Continue letting the LLM write your code for you, and soon you won't be able to spot errors in its output" is still applicable today . When the situation chan…

You do have a point but as the sibling comment pointed out, the negative eventuality you are describing also has not happened for many devs.

I quite enjoy being much more of an architect than I could compared to 90% of my career so far (24 years in total). I have coded my fingers and eyes out and I spot idiocies in LLM output from trivially easy to needing an hour carefully reviewing.

So, I don't see the "soon" in your statement happening, ahem, anytime soon for me, and for many others.

Re: Write less code, be more responsible

#104
post #96

Earlier quoted context omitted.

Of course there is, but slop generators be slopping

What is it, o wise person stingy with the information.

I admire you for what you've created wrt Sumatra. It's an excellent piece of software. But, as a matter of principle, I refuse to knowingly contribute to codebases using AI to generate code, including drive-by hints, suggestions, etc.

You, or rather Claude, are not the first to solve this problem and there are examples of better solutions out there. Since you're willing to let Claude regurgitate other people's work, feel free to look it up yourself or have Claude do it for you.

Re: Write less code, be more responsible

#106
post #31

Earlier quoted context omitted.

> If you’ve heard it a number of times and refuse to consider what people are saying then maybe I can’t help you. What someone says “I’ve heard this a thousand times, but…”, it could be that the person is just stupidly obstinate but it could also mean that they have a considered opinion that it might benefit you to learn. “More people slow down projects” is an oversimplified version of the premise in The Mythical Man…

Sure, I’m not writing a whole critical analysis of TMMM here and am using an aphorism to make a point. Let’s imagine we’re going to make a new operating system to compete with Linux. If we have a team of 10 developers we’re probably not going to finish that project in a month. If we’re going to add 100 developers we’re not going to finish that project in a month. If we add a thousand developers we’re still not going…

> using an aphorism to make a point.

But your “aphorism” is not true. You made a claim that more developers make a project slower. And you pointed to TMMM in support of that claim.

Now you seem to be saying “I know this isn’t really true, but my point hinges on us pretending it is.”

> Let’s imagine we’re going to make a new operating system to compete with Linux.

This is a nonsensical question. “Would you rather be set up to fail with 10 engineers or 1000”? Your proposed scenario is that it’s not possible to succeed there is no choice to be made on technical merit.

> But which team should ship first? And keep shipping and release fastest?

Assuming you are referring to shipping after that initial month where we have failed, the clear option is the largest of the teams. A team of 10 will never replicate the Linux kernel in their lifetimes. The Linux kernel has something like 5000 active contributors.

> I’ve heard stories that it takes a long time to get small changes to production.

There are many reasons it’s slow to ship changes in a company like Google. This doesn’t change the fact that no one is building Chrome or Android with a team of ten.

Re: Write less code, be more responsible

#107
post #58

Earlier quoted context omitted.

My point is that these are not separate activities. They are drawing a false distinction between thinking and coding and then asserting that code speed doesn’t matter and implying that AI only helps with the coding bit. None of this is actually true, though. Coding and thinking are often tightly intertwined, as rarely is the coding piece so straightforward that it requires no interesting thought. Coding speed does ma…

> My point is that these are not separate activities. They are drawing a false distinction between thinking and coding I agree. > and implying that AI only helps with the coding bit. They did imply that. Do you think that AI only helps with the coding bit, helps with the thinking bits, or helps with neither? > Coding and thinking are often tightly intertwined, as rarely is the coding piece so straightforward that it…

> Do you think that AI only helps with the coding bit, helps with the thinking bits, or helps with neither?

Both. I’m effectively using AI to generate code and to help me reason through design options.

> If AI generates code faster than the time it takes to read it more than once, then it isn't "helping" in terms of sustainability

This seems rather reductionist, especially as in this scenario you described we went from reading code 3 times reading at once. If reading the code is actually the bottleneck, then you described a 3X speed up.

> Isn't this how the author is using it?

Which author are you referring to? agentultra seems to be not using it at all.

Re: Write less code, be more responsible

#108
post #43

Earlier quoted context omitted.

If you’ve never read Fred Brooks, I’d recommend it. The aphorism is a bit dated but rings true: you can’t add another developer and make the process go faster. It usually slows teams down. I’ve seen it time and again: startups move from their market-fit phase into an operational excellence phase on the backing of VC funding and they start hiring a ton of people. Most of those developers are highly educated, specializ…

> If you’ve never read Fred Brooks, I’d recommend it. The aphorism is a bit dated but rings true: you can’t add another developer and make the process go faster. He didn’t say that. He said adding developers to a late project makes it slower , explained why, and even added some charts to illustrate it. The distinction matters. By your interpretation, no company should have more than a few developers, which is obvious…

> He didn’t say that.

Actually he did, or something very close to it.

Obviously SOMETIMES you can add more developers to a project to successfully speed it up, but Brooks point was that it can easily also have the opposite effect and slow the project down.

The main reason Brooks gives for this is the extra overhead you've just added to the project in terms of communications, management, etc. In fact increasing team size always makes the team less efficient - adds more overhead, and the question is whether the new person added adds enough value to offset or overcome this.

Most experienced developers realize this intuitively - always faster to have the smallest team of the best people possible.

Of course some projects are just so huge that a large team is unavoidable, but don't think you are going to get linear speedup by adding more people. A 20 person team will not be twice as fast as a 10 person team. This is the major point of the book, and the reason for the title "the mythical man month". The myth is that men and months can be traded off, such that a "100 man month" project that would take 10 men 10 months could therefore be accomplished in 1 month if you had a team of 100. The team of 100 may in fact take more than 10 months since you just just turned a smallish efficient team into a chaotic mess.

Adding an AI "team member" is of course a bit different to adding a human team member, but maybe not that different, and the reason is basically the same - there are negatives as well as positives to adding that new member, and it will only be a net win if the positives outweigh the negatives (extra layers of specifications/guardrails, interaction, babysitting and correction - knowing when context rot has set in and time to abort and reset, etc).

With AI, you are typically interactively "vibe coding", even if in responsible fashion with specifications and guardrails, so the "new guy" isn't working in parallel with you, but is rather taking up all your time, and now his/its prodigious code output needs reviewing by someone, unless you choose to omit that step.

Re: Write less code, be more responsible

#109
post #106

Earlier quoted context omitted.

Sure, I’m not writing a whole critical analysis of TMMM here and am using an aphorism to make a point. Let’s imagine we’re going to make a new operating system to compete with Linux. If we have a team of 10 developers we’re probably not going to finish that project in a month. If we’re going to add 100 developers we’re not going to finish that project in a month. If we add a thousand developers we’re still not going…

> using an aphorism to make a point. But your “aphorism” is not true. You made a claim that more developers make a project slower. And you pointed to TMMM in support of that claim. Now you seem to be saying “I know this isn’t really true, but my point hinges on us pretending it is.” > Let’s imagine we’re going to make a new operating system to compete with Linux. This is a nonsensical question. “Would you rather be s…

You’re right, I’m not making my point well.

You do need enough people to make complex systems. We can do more together than we can on our own. Linux started out with a small team but it is large today.

It runs against my experience though and I can’t seem to explain why.

My observation in my original post is that I don’t see why writing code is the bottleneck. It can be when you have too much of it but I find all the ancillary things around shipping code takes more time and effort.

Thanks for the discussion!

Re: Write less code, be more responsible

#110
post #101

I’m working as a single solo developer of a tiny video game. I’m writing it in C with raylib. No coding assistants, no agents, not even a language server. I only work on it for a few hours during the week. And it’s progressing at a reasonable pace that I’m happy with. I got cross-compilation from Linux to Windows going early on in a couple of hours. Wasn’t that hard. I’ve had to rework parts of the code as I’ve progr…

I've been developing a moderately popular (for an indie) game for over 4 years at this point (full time). C++, SFML, SQLite. Same as you: no coding assistants, no agents, etc. I also don't use git. [1] One of the largest speedups is from how much of the codebase I can keep in my head. Because I started from an empty C++ file, the engine reflects how I reason and organize concepts (lossless compression). Thus most of…

I definitely feel like understanding the system is a big part of what makes it relatively easy to maintain/understand.

My game is just in my spare time while I'm looking for work and the scope of the project is small so that I can finish it, release it, and start working on the next one. I'm not trying to build an engine or anything. Just a game. Not even the best game I can make.

I can iterate on it fast because I know the structures. I can refactor it fast because I've built an intuition for a process over time that keeps code amenable to changes over time. I know I'm not going to make the right decisions at the start so I avoid committing to generalizations, etc.

Editing code is pretty fast for me. Again, years working with a particular setup. I still have expandable snippets, multi-cursor editing and a host of macros for common editing motions.

Checking changes... pretty fast. I'm getting to the point where I might invest in using dynamic reloading for my in-development builds. I suspect it will take a few hours to do at most. Not a big deal. For now I have a basic system that just watches for file changes and recompiles/re-runs the program.

In a different context, working on a team in a large multi-million line codebase... I dunno what other people find it's like but I've never found it terribly slow to write/edit code or ship features. I can usually knock most tasks out at a reasonable pace especially when my familiarity with the area of the code I'm working in increases. I usually find my priorities shift with the demands of users, the business, etc. Some times I work on shipping new features quick. Other times it's making sure what we ship the right things and done well so that we don't leak PII.

Either way... actually writing the code isn't the slowest part, in my experience. It's all the other stuff: the meetings, the design, maintenance, documentation, understanding the problem domain, actually shipping the code to production, etc that takes up the most time for me.

Post reply on HN