3 ms·
Shaw's Principle: Build a system that even a fool can use, and only a fool will want to use it. https://www.angelo.edu/faculty/kboudrea/cheap/cheap3_murphy.htm
by pif 6y ago
Shaw's Principle: Build a system that even a fool can use, and only a fool will want to use it.
https://www.angelo.edu/faculty/kboudrea/cheap/cheap3_murphy.htm https://www.angelo.edu/faculty/kboudrea/cheap/cheap3_murphy....
- pdog 6y agoCounterargument: build systems that any idiot can run, because eventually an idiot will be running it.
- artsyca 6y agoMurphy's eighth law is contrary to every success metric. People tend to say "..but we're doing well!" and that's supposed to be a bad sign.
- moreaccountspls 6y agoYou think everyone building tools like k8s, terraform, etc. are fools? That's a pretty myopic worldview.
- erik_seaberg 6y agoTerraform is I/O bound on cloud provisioning APIs (its CPU performance doesn't matter), and its complex object models need to be extensible. Python would have been a better choice.
- jen20 6y agoAs a former maintainer of Terraform, I 100% assure you that Python would have in no way been a better choice. While Terraform is I/O bound to some degree, it has a large degree of concurrency - something quite miserable to do in Python. Terraform does not take full advantage of even the type system available in Go, but a dynamic language would make things even worse. I do not think Go is the ideal language for programs like Terraform, but having spent many thousands of hours in that codebase now, the answer is stronger types (likely Rust), not fewer.
- erik_seaberg 6y agoI'm currently generating bloated JSON templates because writing any kind of non-Go plugin looked like a painful ordeal.