Hacker News new | ask | show | jobs
by paul_knox 16 days ago
Coding used to be bottlenecked by typing speed; now, it’s bottlenecked by our ability to comprehend and maintain.
3 comments

Very rarely you're bottlenecked by typing speed. If you truly are, and you are already typing at like 200 wpm, then you are probably doing something at the wrong abstraction level. E.g. for a very simple example when making a CRUD admin, but implementing everything from the first principles for each entity, not making helper functions to render generic forms, handle add/update/remove operations uniformly, etc. Of course LLMs can help you generate such code faster, but if you then need to change something systematically in the future it'll take longer and will definitely be less consistent / more buggy.
I highly doubt it was ever really bottlenecked by typing speed. If _that_ is your bottleneck then you either don’t care about what you write or you have a perfect plan laid out and just need to type it in.
If it's well trodden ground like writing enough Vulkan to display a triangle? It's probably bottlenecked by code writing speed.

In fact, writing a video game engine is probably the most common project on the planet to the point there is hardly anything novel about it. That's how engine writing nerd snipes people. They get to feel secure due to the guaranteed possibility of success. Making and designing an actual game that people want to play is much more risky and it is much less dependent on programming skill.

Why you aren't entirely incorrect, I would argue you also aren't entirely correct.

With Vulkan the hard part isn't the typing, it's the understanding and figuring out an abstraction that suits you/your project that is the hard part. And kinda the same with writing a game engine. There is basically infinite resources and libraries to make it easier, but what you actually are spending your time on is figuring out an abstraction that makes sense for the user of the engine. There is a reason why almost no 2 engines end up with even close APIs.

Exactly. And when writing your own engine, you _should_ type these lines to render a triangle definitely by hand, to understand what is being done and then use that input to build the right abstraction so one doesn't have to type it over and over again.
Not my experience at all (30+ years of getting paid to deliver software).

Thinking hard (and discussing with experienced colleagues) before writing any code can dramatically speed up your overall delivery time and completely remove whole classes of potential errors.

If you skip the "thinking hard" bit to "go fast" you will probably end up being 10x slower overall.