User:ScotXW/Shell (computing)
From Wikipedia, the free encyclopedia
In computing, shell is the denomination of the software that implements the user interface that enables the interaction of the user with the entirety of an operating system's basic services. A shell can use either a command-line interface (CLI) or graphical user interface (GUI) or a Voice user interface (VUI) or a combination of two or of all three.
While any single program has it's own interface, the shell, is the more generic implementation of an interface. GNOME Shell is an example of a graphical shell.
The design of a shell is guided by cognitive ergonomics and the goal is to achieve the best workflow possible for the intended tasks. It can be constricted by the available computing power, e.g. to process speech recognition in real-time, or of the GPU) or the available amount of graphics memory and is dictated by the employed computer periphery, such as computer keyboard, pointing device (a mouse with one button, or one with 5 buttons, or a 3D mouse) or touchscreen, which is the direct human–machine interface.
The optimum choice of user interface depends on a computer's role and particular operation.
CLI-shells allow some operations to be performed faster, rearranging large blocks of data for example. But they require the user to memorize all commands and their calling syntax, and also to learn the shell-specific scripting language, e.g. Bash script. CLIs are also easier to be operated via refreshable braille display and more more surface to screen readers.
Graphical shells have a low burden to start using a computer, are characterized as being simple and easy-to-use. With the wide-spread adoption of programs with a GUI, the use of graphical shells has gained greater adoption. Since Graphical shells do not offer a better workflow, most operating systems, come with both.