> zsh comes with a function to check "rm" arguments and issue a warning if rm * is supplied.
For those of us following along at home that is the RM_STAR_SILENT option, and there is also a RM_STAR_WAIT option should you wish to just have a little wait first.
> it is simple to write "calc '3 * 4 + 5'"
You can use the GP's syntax without quoting on zsh by using the noglob builtin: `noglob calc 3 * 4 + 5`. There are a few commands I like to alias with `noglob =$cmd` for nicer interactive usage.
--
GNU coreutils' cat and GNU grep will also error out in the basic case of IO loops with `{cat,grep}: foos: input file is output file`.
I largely agree with the premise that there are a heap of problems though, and having some environments that fix the some of the problems isn't all that useful.