Let’s face it. I use Bash every second of the day. I don’t use Perl or Python (which are both great languages). Bash is the language of the command line so the cognitive overhead of using it in a script is absolute zero. Opening a script in Perl or Python requires me to access different areas of my brain and look stuff up that I’ve forgotten since the last time I wrote in one of those languages. While everyone should become a polyglot programmer, you can only have so much of any specific language queued up into cognitive memory for rapid use without doing some recall.
Did my 2020 year of Bash mess me up? Yes and no. It made me unable to
distinguish POSIX from Bash. But I have shellcheck
for that now. I
don’t need to think about it.
So my conclusion is to keep Shell (POSIX and Bash) and Go queued up in my mind at all times. Beyond that Python is required because I work with it all day every day to support the ML applications that use it at work. As much as I love Perl. I just don’t ever use it anymore and frankly don’t need to use it. When something grows larger than a Bash script can handle, let’s face it, it’s time for a CmdBox Go command module. It saves me the step of prototyping it in Perl and then moving to Go, which, now that I think about it, was very inefficient given the number of languages I’d have to port to get that to work.
I’m glad I refreshed my Perl usage recently, and obviously will still use it on occasion, but I just really don’t need it anymore, despite all the fuss I made about how awesome it is, which it absolutely is.