4 ms·
Python is not a compiled language. However, the reason Bash is so prolific amongst Sys Admins such as myself is the fact that they are portable and reliable to
by tempusr 3y ago
Python is not a compiled language.
However, the reason Bash is so prolific amongst Sys Admins such as myself is the fact that they are portable and reliable to use across Debian, Arch or RHEL based distributions.
You don't have to import extra libraries, ensure that you are running the proper python environment, or be certain that pip is properly installed and configured for whatever extra source code beyond what is included out of the box.
Bash is the most consistent code you can write to perform any task you need when you have to work with Linux.
- dragonwriter 3y ago> Python is not a compiled language. Python is (at least in the CPython implementation) compiled, to python byte code which runs on the python virtual machine. Its not compiled to native code. (Unless you use one of the compilers which do compile it to native code, though they tend to support only a subset of python.)
- LeBit 3y agoBash is fine for small scripts. Once you use it to manage complex data structures and flow, you are simply wasting time because you will have to rewrite it in Python or Go.
- pdimitar 3y agoAnother commenter beat me to it but still: sh / bash / zsh are quite fine up until certain complexity (say 500 lines), after which adding even a single small feature becomes a huge drag. We're talking hours for something that would take me 10 minutes in Golang and 15 in Rust.
- sgarland 3y agoI can actually agree with this take. Most of the opinions I've seen in this vein take some absurdly small limit, like 5 lines. 500, though? Yeah. My team rewrote a ProxySQL handler in Python because the bash version had gotten out of hand, and there were only a handful of people who could understand what it was doing. It passed 100% of spellcheck tests, and was as modular as it could possibly be, but modifying it was still an exercise in pain.
- ruraljuror 3y ago> It passed 100% of spellcheck tests Just like your post does! :)
- sgarland 3y agoUgh… Safari being overly helpful.
- mbreese 3y ago> portable and reliable to use across Debian, Arch or RHEL based distributions Until you try to use a newer feature or try the script in a Mac or BSD or any older bash. SH code is completely portable, but bash itself can have quite a few novel features. Don’t get me wrong - I’m happy the language is dynamic and still growing. But it can make things awkward when trying to use a script from a newer system on an older server (and the author has been “clever”).
- rascul 3y ago> SH code is completely portable Not exactly. https://stackoverflow.com/questions/11376975/is-there-a-minimally-posix-2-compliant-shell/16376043#16376043 https://stackoverflow.com/questions/11376975/is-there-a-mini...
- sigjuice 3y agoThe phrase "compiled language" doesn't mean anything. Python compilers exist.
- DanielHB 3y agoAlso the bash runtime is quite small, I think <2mb uncompressed so it is pretty much included in every distro Installing python or nodejs into your distro will inflate it by at least 30mb, quite crucial when dealing with containers