Hasty Briefsbeta

Bilingual

The growth of command line options, 1979-Present

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