While a transistor allows a small current to control a larger one, a program allows small statements to control computer resources beyond their envisioned purpose. It is by inventing new interpretation of statements that our field advances.
Shell runs perl which writes txtzyme interpreted in c. Control passes along the way.
Imagine a fluid draining from a bucket where one can squeeze the hose and control the flow. Thus we metaphorically define the transistor.
We use a small transistor circuit to blink a light. The transistor serves as the control through variable resistance. With a few more transistors we have the input/output pads of a microcontroller. With a few million more transistors we hook those pads to something we can program.
Once our program controls the computer we can extend that control wherever we desire. Thus is Txtzyme, the last microcomputer program I wrote for the Teensy, an Arduino like computer.