Terminology of
Computing
Environments
Prof. Pai H. Chou
National Tsing Hua University
1
Terms
• Terminal
• Shell, Bash
• Text editor, Vim
• Python interpreter
• Terminal Emulator
• PC, Local shell, local software
• IDLE
• Jupyter Notebook
2
Terminal
• A keyboard + a text display
• Physically connected to a computer (in
the computer room)
Computer Terminal
3
Operating System (OS)
• The software that manages a computer's
resources
• computing, input/output, storage,
• e.g.: Unix (macOS, Linux), Windows
OS
Computer Terminal
4
Shell
• A command interpreter program
• Unix-like shells: sh, csh, bash, ksh, ...
• Windows shells: DOS, PowerShell, ...
• Graphical shells: Windows, iOS, macOS, Android
shell
OS
Computer Terminal
5
What can a shell do?
• Interpret commands
• Launch programs
• copy/rename files, list files
• run text editor, file transfer, ...
• run Python interpreter, run another shell, ...
• Suspend, stop (kill) running programs
6
Bash
• A Unix-like shell
• "Bourne-Again Shell"
• Open-source, most popular, runs on most OS's
$ ls
$ vim f.py
bash $ python3 f.py
OS
Computer Terminal
7
vim
• "Vi-improved"
• Vi = "Visual" text editor, on most Unix systems
• can edit, save plain text files (e.g., source in
Python)
vim print("hello")
~
~
bash ~
"hello.py"
OS
Computer Terminal
8
Python
• A Python-language interpreter
• Interactive mode => Python shell
python3 >>> print("hello")
bash $ python3
OS
Computer Terminal
9
Terminal Emulator
• An application program that emulates a
terminal
Terminal
• usually runs on a personal computer
emulator
python3
bash
OS
Computer Terminal
10
Personal Computer (PC)
• A computer that runs its own OS
• A terminal emulator can connect to a Terminal
remote bash to run python remotely emulator
vim python3
bash
graphical shell
OS
OS for PC (Windows,
macOS, Linux)
Computer PC Software
11
Local shell (on PC)
• PC can run its own bash locally
Terminal
emulator
vim python3
bash bash
OS graphical shell
OS (Windows, macOS, Linux)
Computer PC Software
12
1. Local text-based software
installation
• Python3, vim, etc have been ported to PC
Terminal
emulator
vim python3 vim python3
bash bash
OS graphical shell
OS (Windows, macOS, Linux)
Computer PC Software
13
2. IDLE
Terminal
• Graphical user interface (GUI) IDLE
emulator
for Python
• contains built-in editor
• provides Python shell python3 vim
bash
graphical shell
OS (Windows, macOS, Linux)
PC Software
14
3. Jupyter Notebook
Terminal
• Browser as web browser IDLE
emulator
graphic terminal bash vim
• runs as a local web
server python3 vim
• bash terminal, Jupyter Notebook
text editors, bash, (server) bash
file browser, graphical shell
OS (Windows, macOS, Linux)
PC Software
15
What should you install?
• #1 (Local text-based) for CS majors
• may have learning curve, but worth it
• #2 (IDLE) for Non-CS majors
• friendlier, but no access to bash CLI
• ok for just learning Python only
• #3 (Jupyter) for both
• Superset of #1, also brings in latest Python
• You may need #1 to install Juypter (macOS, Linux)
16