Canonical list of software
An ever-growing list of software; useful for comparing alternatives. Each section is ordered by personal opinion, from the best software at the top, to the worst software at the bottom (of each section). Each entry aims to include a brief annotation describing the software's key features. Unused software is listed at the bottom with no comment attached.
Build systems
Character encodings
- UTF-8 (perfect, just be careful about codepoint equivalence)
- ASCII (good but control block is dated; English-only)
File formats
- Plain text (simply brilliant; use LF endings and UTF-8)
- TSV (simply brilliant; use LF endings and UTF-8)
- HTML (the size of the specification may induce a coma)
Mail clients
- aerc (beautiful)
- Thunderbird (overall quite good)
Operating systems
- 9front (good but limited software availability)
- Alpine Linux (good for daily driver)
- Plan 9 from Bell Labs (good but not much software and bad hardware support)
- Arch Linux (good for daily driver but Alpine Linux is nicer)
- OpenBSD (system startup is slow)
- FreeBSD (overcomplicated)
- Ubuntu (progressively increasing bloat; broken package manager)
- Microsoft Windows (rude and disrespectful; inherently flawed system design)
- OpenSolaris (impossible to use)
- macOS
Programming languages
- Go (good but uses garbage collection; insufficient basic type support)
- C (maps well to assembly; atrocious standard libraries)
- C++ (improves upon C in some ways, regresses in others)
- Python (attractive to novices; horribly slow)
- Hare
- Haskell
- Rust
- Zig
Terminal emulators
- acme/win (the only thing missing is arrow key shell history selection)
- st (good, but no scrolling?)
- Command Prompt (no history, bad text editing capabilities, etc.)
Text editors
- acme (good but cannot show graphical programs in windows)
- Visual Studio Code (good but inefficiently uses screen space)
- sam (similar to ed but graphical and multi-file)
- nano (good if stuck in a character cell display)
- Pluma (too much on the screen; nice Cobalt theme)
- gedit (similar to Pluma but worse)
- ed (only if stuck in command-line)
- vi (command mode by default...)
- Xcode (refuses to work with Git repositories normally)
Window managers
- sway (basically perfect)
- MATE (fairly decent)
- GNOME Flashback (basically MATE but integrates better with GNOME apps)
- GNOME (hugely unproductive window manager)
- KDE (very annoying to use)
Window systems
Web browsers
- Mozilla Firefox (overall good; insufficient customisation and control)
- qutebrowser (very nice except for it being written in Python)
- Chromium (same as Google Chrome but open source)
- Google Chrome (memory-hungry, but gets the job done)
- Lynx (good if stuck in a character cell display)
- mothra (really basic)
- Microsoft Edge (bloated)
- abaco (really basic)
- Internet Explorer (really really horrible)