Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, I was memorizing the stuff.

The reason I used to stick to just a very small set of languages that I knew inside out is that because I was using them on a daily basis I was extremely productive at writing code in them.

Why write code in Go where I have to stop and look things up every few minutes when I could instead of use Python where I have to look things up about once an hour?

LLMs have fixed that for me.

> Also by the time I need to code, I need factual information, not generated examples which can be wrong.

If those generated examples are wrong I find out about 30 seconds later when I run the code: https://simonwillison.net/2025/Mar/2/hallucinations-in-code/



> Why write code in Go where I have to stop and look things up every few minutes when I could instead of use Python where I have to look things up about once an hour

My workflow is different. Whenever I can't remember something, I look it up. And for something that I'm not familiar with, that usually means a lot of browser tabs. But I try to retrieve it from my memory first (and it usually exists in my short-term memory). And after some days, it has become part of my long-term memory and I don't need to look it up again. If I don't touch the language and its ecosystem for a while, I forgot some details, but they are refreshed with a quick read.

> If those generated examples are wrong I find out about 30 seconds later when I run the code

I would be grateful if those were the only kind of wrong I encounter. Writing code that does the stuff is usually easy. The difficult part is to ensure that the data fits the definition of correct at every stage of the process. And there's not some corrupting action somewhere. Doing so exhaustively is formal verification and it is costly (mostly in terms of time). So what you do is other kind of testing which only covers the most likely places and dimensions where thing can go wrong.

The stressful part is when you have to change some part to fit a new use case. You then have to carefully revise both the change and the other parts so that their definition of correct is consistent. And sometimes there's some decoupling mechanism which makes the link non-obvious.

That's the definition of wrong that I'm fearful of. Where two part are internally correct, but their integration is not consistent.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: