Hacker News new | ask | show | jobs
by dasil003 942 days ago
That's an interesting point. My thought is that the theories of the software go well beyond programmers to everyone who interacts with the business process in question. Everyones theories are incomplete and aspirational though, sort of like a dream, while the code executing is the cold hard reality. Programmers have the closest theory to reality, sort of like a lucid dreamer, but even those with the deepest expertise are still subject to the deterministic outputs of code execution in production.
1 comments

It misses two points.

One is that software development is collective. On any non-trivial project, it's impossible for one person to understand the entire problem domain or the entire code base.

What's being called a theory here is also collective. It's the current combined understanding of a group of people.

The other point is that code is persistent. If it's finished and the developer who created it is fired (for example, for lying to the board) it will carry on working, because the understanding it contains has been automated.

The code only needs to be understood when it needs to be changed or reinvented. And changes can often be handled with partial understanding.

The more partial the understanding the more it's likely to lead to bugs. But sometimes it can also fix bugs which the original developer included - refining the automated understanding instead of making it worse.

So... I'm not at all convinced by the OP.