I started programming because I enjoy understanding something deeply and building things with that understanding. I like to write code that works on the first try because that means my mental model is correct. If I end up writing a bug, I try to avoid using a debugger. Instead, I take a step back, analyze what the code is doing and where my model differs from reality and fix it, often while finding more issues in my original understanding.
There are programmers who take a different approach, they write code that take a naive approach and works 90% of the time, then move on. When a bug manifests (it was there from the start but unless it manifested itself, it didn't bother them), they make a naive fix and move on. Sometimes fixing the bug for real, sometimes causing new ones. Eventually the amount of bugs reaches an equilibrium and they ship it.
LLMs are the second approach on steroids. Since they have no understanding, only statistical correlations between tokens, they produce code of the second kind. I mean, they don't even run their code to check it works. And they sure as fuck don't ask the programmer additional questions. Let alone the user. But they do it extremely fast so it's good from a business perspective. Better to have a shitty product now and beat competition on advertising, then be second.
I used to like open source because it attracted people of the first kind and there was cooperation instead of competition. But lately every project seems to ask for donations and it increasingly attracts people of the second kind.
I started programming because I enjoy understanding something deeply and building things with that understanding. I like to write code that works on the first try because that means my mental model is correct. If I end up writing a bug, I try to avoid using a debugger. Instead, I take a step back, analyze what the code is doing and where my model differs from reality and fix it, often while finding more issues in my original understanding.
There are programmers who take a different approach, they write code that take a naive approach and works 90% of the time, then move on. When a bug manifests (it was there from the start but unless it manifested itself, it didn't bother them), they make a naive fix and move on. Sometimes fixing the bug for real, sometimes causing new ones. Eventually the amount of bugs reaches an equilibrium and they ship it.
LLMs are the second approach on steroids. Since they have no understanding, only statistical correlations between tokens, they produce code of the second kind. I mean, they don't even run their code to check it works. And they sure as fuck don't ask the programmer additional questions. Let alone the user. But they do it extremely fast so it's good from a business perspective. Better to have a shitty product now and beat competition on advertising, then be second.
I used to like open source because it attracted people of the first kind and there was cooperation instead of competition. But lately every project seems to ask for donations and it increasingly attracts people of the second kind.