Poking around in a fresh VM in Vagrant, I see
bash
dash
, a POSIX compliant shell linked undersh
python3
, 3.11.2 at the time of writingawk
, specificallymawk
sed
, if you count that (I do)perl
, specifically Perl 5
There may be others I missed.
Why I’m curious: Knowing that a language is installed by default on the most
popular Linux distribution can simplify certain concerns considerably, which
are of special interest to
people who don’t work on Internet-connected boxes.
Knowing that Python/Perl is already on there means that,
provided your script only
relies on the standard library, you should be able to just scp
it over in a
pinch and have it “just work”.
You can also do this with Go binaries, etc. thanks to their static linking.
However, this doesn’t include the source code by default, which may be
an important concern for far
future people who want to figure out what on Earth ./foobar
is actually doing.
I don’t know why I don’t hear this point get more airtime among people when discussing the pros and cons of Python/Perl as scripting languages. Maybe most employed software engineers just don’t work in the weird marginal zones I work in very much anymore. I would certainly prefer not to be SSHing into machines all the time, but hey, it’s a very transferable skill and you take what you can get.
Chalk this up as another, perhaps underrated, point in favor of learning Python as your first programming language, aside from the stellar quality resources that exist for it as well. It was a great horse to bet on for me back in 2009, and it’s only gotten better from there.