DEV Community


Discussion on: A Complete Beginner's Guide to Programming

ondrejs profile image

Yep, understood. Well the main reason is that Bash has very little to do with HW (if something). It does not use pointers, memory management, it does not communicate directly with processor etc. It's a scripting language native for Unix-based systems, nothing more. It's written i C the same way Python is. It's just not as user friendly (for some) as other scripting languages. == My 2 cents.

Thread Thread
karlredman profile image
Karl N. Redman • Edited

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).