General
Linux/macOS/*nix shell
macOS as a Unix flavor comes with a powerful command-line interface or shell ("Terminal") that allows users to execute typical Unix commands and applications
Linux distributions generally also come with shells like bash that allow to execute Unix-style commands and compatible software
The *nix command line allows to create complex tool chains and allows to automate complex tasks with scripts: https://en.wikibooks.org/wiki/Bash_Shell_Scripting
Windows Subsystem for Linux
Windows 10 contains a compatibility layer that allows to run Linux systems like Ubuntu, Debian or OpenSUSE inside of Windows
By default, no software with a graphical user interface can be executed, but the powerful shell commands are available (see above)
The Linux-inside-Windows allows you to install additional tools without admin rights, through the packet managers available for the Linux distribution you chose (e.g. apt or dpkg)
Once installed, some Windows command-line software can be run from the Linux shell
Python
Swiss Army knife for automating recurring tasks or operations on large data sets
@David Bliss recommends Anaconda (https://www.anaconda.com/) and the Spyder IDE (https://www.spyder-ide.org/) for developing and testing Python scripts
For testing Python commands on a Linux shell, try IPython (https://ipython.org/)
As a very versatile tool for simulating and automating user interactions with a web UI (e.g. if no API is available), consider Selenium (https://selenium.dev/, available for other programming languages as well)