The machine in this picture is a (video) terminal, more specifically a VT100 by Digital Equipment Corporation.
Decades ago when computers were big, instead of having personal computers for each user, they could have had a terminal, a dummy device with display and keyboard, that is connected to a main computer via a cable. A VT100 is not a computer, but just a keyboard and a display. There usually were several of these connected to a single computer.
Thus decades ago a Unix computer was accessed via a terminal, which was a physical device. As the personal computer came along, and graphical user interfaces became commonplace, there was (and still is) a way to access the Unix command line as if by such a terminal device - applications called terminal emulator. The Terminal program in OS X is a terminal emulator; most of the terminal emulators of the present day still emulate that very same VT100 device quite closely, i.e. most of the programs run in a window of the
Terminal application look exactly the same as they would look if run on the big computer of 70s and the data displayed on such a terminal device. To the programs, each window in your terminal emulator behaves like one of these devices; most command line programs couldn't notice a difference (though you could find it difficult to connect a genuine VT100 to your MBP).
A video terminal was the successor of a device called a hard-copy terminal, a device that would have a keyboard and printer - all the output from programs would be printed on the paper instead. One can imagine that a video terminal was a big improvement over such devices. An example of a hard-copy terminal, a TeleType Model 33 ASR:
This device was also called teletypewriter, teletyper, or tty for short; and the tty stuck from the early 70s, and the interface for a such a device, or terminal emulator is still called a tty, and in many programming languages outputting text for display in a terminal window still is called "printing"; originally it was not a metaphor but a fact.
The shell has always been there - from the dawn of Unix, it was the program that was run after you entered your login name and password on the terminal, to access the central computer. The first shell program was the Thompson shell (
sh) from 1971, which in 1977 was superseded by Bourne shell, also called
sh. Early on, it was designed so that that this was just another program that could be updated easily, and that users could run their own program instead of the default shell.
The GNU project then produced from scratch an improved shell called
bash, short for Bourne-again shell, which Apple decided to ship with MacOS X too.
Back in 1970s, the distinction was clear: a terminal was that what seemed like 30 kg piece of solid cast iron frame wrapped in cream-colour plastic case with a glass display and keyboard in front of you, or even a device with just a keyboard and printer, whereas a shell was a program running on the main computer interpreting your commands.
$SHELL --versionto see what shell you are running in. What hasn't been mentioned is that shells like Bash have three major modes: login, interactive, script. Login and interactive are very similar from a user's perspective. Script is when the shell is used to interpret commands in batch.
bashagain! Your answer makes no mention of the fact that the OS X terminal is executing bash by default!