Hacker News new | past | comments | ask | show | jobs | submit login

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....




Counterargument: build systems that any idiot can run, because eventually an idiot will be running it.


Murphy'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.


You think everyone building tools like k8s, terraform, etc. are fools? That's a pretty myopic worldview.


Terraform 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.


As 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.


I'm currently generating bloated JSON templates because writing any kind of non-Go plugin looked like a painful ordeal.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: