4 ms·
Although it's true that people want programs for their functionality, not their beauty, there is a reason why it's a good idea to focus on the "beauty" of the p
by tytso 14y ago
Although it's true that people want programs for their functionality, not their beauty, there is a reason why it's a good idea to focus on the "beauty" of the program that lies beneath the functionality, and that's because unlike bridges, which rarely need to change once they are built, programs often do need to be improved and modified after the 1.0 release.
More importantly, other people will need to be able to revise and extend upon your work, and if it is easy for other programmers to understand your code, and be able to work on your code, this makes your code far more valuable in a way that might not be visible to a customer who is only interested in the functionality.
Now, there may be cases where this doesn't matter. If it's a startup where it's not even clear whether you're going to get the next round of funding, maybe taking the time to invest in making your software more maintainable doesn't matter; letting technical debt build up might be acceptable.
But there is a reason why open source projects care very much about the underlying quality of the code from an aesthetics point of view, and that's because we need to worry about the long-term maintainability of the code after we accept a code contribution. Even if the startup goes belly up, you can reuse open source code. Proprietary code is much less likely to be reused, and besides, once the startup fails and you are fired and the assets get sold off, why would you care about how maintainable the code will be? It's very unlikely you'll ever get the chance to work on it again....
But in the case of open source code, caring about the craft of writing good, maintainable, elegant, easy-to-understand code is important. And in that way, I do respect programmers who respect their work as if it were a craft.