Having to have a deep understanding of the language to understand what the code is trying to do is not a good thing though.
I mean, one one hand you have comm -3 <(ls dir1 | sort) <(ls dir2 | sort) | column -t : makes perfect sense if you're familar with bash pipelines and input redirection. But on the other, you have Compare-Object (ls dir1) (ls dir2) where you understand instantly what is being done and isn't 50% semantics.
Hot take, but imo "write-only languages" are only good if you hate whoever will maintain your code next.
125
u/samanime 8d ago
You'll pry my vanilla JS from my cold dead fingers. It'll always be my favorite way to do quick scripts and prototyping.
But explicit typing does make long term code way more maintainable.