The growth of command line options, 1979-Present
a day ago
- #Command Line
- #UNIX
- #Software Design
- McIlroy's UNIX philosophy emphasizes doing one thing well, but modern commands like 'ls' have grown to include many options.
- The number of command line options for common UNIX commands has dramatically increased over time, as shown in a comparison table from 1979 to 2017.
- McIlroy criticizes the bloat in modern utilities, arguing that simplicity and thoughtful design have been lost.
- The rise in command line options is partly due to the UNIX philosophy of handling text streams, which leads to formatting and parsing complexities.
- Structured data handling, as seen in PowerShell, offers an alternative to the text-stream approach, reducing user complexity.
- Modern command line tools often include convenience flags that could be replaced by combining simpler commands, adding to the bloat.
- The UNIX design philosophy, which assumes a small, cohesive team, does not scale well to today's diverse and distributed development environment.
- The inconsistency and complexity of UNIX tools across different systems far exceed the issues seen in criticized programming languages like PHP or JavaScript.
- Modern hardware advancements make concerns about binary size bloat less relevant compared to the 1970s.
- The UNIX philosophy's limitations are evident in areas like clipboard handling, where Windows' structured approach offers better usability.