Greenspun's 10th rule and the sad state of software quality
a year ago
- #Programming Languages
- #Technical Debt
- #Software Development
- Moore's Law, predicting transistor count doubling every two years, has remained relevant for over 60 years.
- Zawinski's Law observes that programs tend to expand in complexity, often adding unnecessary features.
- Frisch's Law and Brooks's Law highlight that adding more developers doesn't necessarily speed up software development.
- Linus's Law states that with enough reviewers, all bugs become shallow.
- Conway's Law suggests that software reflects the organizational structure that produced it.
- Tom Cargill's adaptation of the 80/20 rule indicates that the last 10% of code takes 90% of development time.
- Greenspun's 10th Rule criticizes non-Lisp programs for reinventing poorly implemented Lisp features.
- Lisp's homoiconicity and expressiveness make it ideal for DSLs and scripting, but its adoption remains low.
- The software industry tolerates poor quality, driven by fast-moving, break-things culture.
- Solutions include learning Lisp, writing expressive code, avoiding custom parsers, and reducing technical debt.