Teaching the Shell is a critical first part of learning about everything that comes later whether accessing high performance computers, or learning how to script and code. The best part? It’s kind of fun!
- It is underappreciated as perhaps the basic process language that is used across the breadth of biological computing. As the first part of accessing supercomputers, or the cloud, it is utilized by pretty much everyone.
- We all know graphical user interfaces (GUI): They have windows, icons and pointers. They are easy to learn and fantastic for tasks where a vocabulary consisting of “click” translates easily into “do the thing I want”. But this magic relies on wanting a predefined and relatively simple set of things, and the GUI must display all those things, and have programs to do exactly those things.
- To do complex, purpose-specific things it helps to have a richer set of instructions to express to the computer. It doesn’t need to be complicated or difficult, just a vocabulary of commands and grammar rules for using them.
- This is what the shell provides - a simple language and a command-line interface to use it through.