Bash is a [x]nix shell language. [x]nix is based (history) on programs that perform 1 task well.... Bash is a shell to your operating system.
With that said, bash as a shell and batch processing language, absolutely has everything you can imagine to do with HW. By virtue of it's purpose you can programmatically control many aspects of your computer system through bash scripts (regardless of programmer friendliness).
While bash is 'only' a scripting language, it's still used on a daily basis more than any other language in the world -by sheer use of scripts over the number of distributions booted each day -often controlling hardware by proxy -most [x]nix computers would never boot without out bash (a hardware controlling perspective).
The purpose of programming is to automate some task (period) -regardless of language. Programming languages are all constraints upon constructs whereupon their only usefulness is to tell computers what to do from human perspectives (note plural perspectives).
Everything has it's purpose in programming. The trick is finding the right tool for the job. Otherwise, it's all the same thing (ones and zeros).
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.