6 ms·
I’m generally in agreement with the anti-bash camp, but I can name about that many :) - Mutating default arguments to functions, so subsequent calls have diffe
by s1dev 2y ago
I’m generally in agreement with the anti-bash camp, but I can name about that many :)
- Mutating default arguments to functions, so subsequent calls have different behavior
- Somewhat particular rules around creating references vs copies
- Things that look like lambda captures but aren’t quite
- _a_a_a_ 2y agoTouche!
- sanderjd 2y agoYep, every language has footguns and other kinds of quirks, but I contend that the "footguns per character" ratio in shell is unusually high. (It is not unique in having a high ratio though; other popular languages, like c++ for instance, also have this issue.)
- eitland 2y agoThe worst (level of nastyness * usage) offenders all probably have a reason for being popular despite their flaws: - Bash: installed everywhere you want to work (yes, who actually wants to work on Windows ;-) - C/C++: when speed/size matters there was no alternative except Assembly until recently - Javascript: until recently this was the most sane option for client side code on the web (Active X and Java applets existed yes but managed to be even worse.) - PHP: Low cost hosting, Function-As-A-Service way before that became popular, shared nothing architecture, instant reload for local development bliss
- sanderjd 2y agoCouldn't agree more.
- bonzini 2y ago- string vs. list "in" ('a' in 'a' is True, but 'a' in ['a'] is also True) - cannot know which object attributes are private or public (and some classes use settable properties so you can't say "just don't set any attributes on non-dataclass objects")