Additionally, my answer is "right". The short program will clear the screen
using Putty and probably also using SSH Secure Shell.
The shell (bash or similar) usually [ultimately] interacts with the user via
some kind of terminal emulator ... terminal emulation comes into it quite
quickly unless you only output and input sequential lines of text.
Putty contains a terminal emulator, but it is not a shell -- it does
not *itself* parse commands and submit them for execution.
Putty accepts characters and sends them to somewhere else for processing,
and handles received characters, but it is only displayware.
bash and similar may usually interact with a user via some kind of
terminal emulator, but bash etc. do not -provide- that terminal emulator:
they blindly make use of whatever information they have been told about
the characteristics of the terminal emulator that some other layer has
provided.
For example, right at the moment, I am typing this message within
the vi editor (not a terminal emulator), which was invoked by trn
(not a terminal emulator), which I commanded to start from within ksh
(not a terminal emulator), which transmits and receives data over a
pair of network sockets (not terminal emulators) that were created
between a remote rlogind server and a local rlogin client; the rlogin
client was something I commanded to start from within ksh (not a terminal
emulator), which transmits and receives data via an X Windows session
(which knows how to draw pretty graphics but needs to be told where
and what to draw); that X Windows session is being managed by the
4Dwm window manager (which knows more about where to draw various kinds
of things), within which I have started up an Xwsh window that has the
ksh running within it -- and the Xwsh window *is* the terminal emulator.
To recap that, there is something that knows about graphics (X) and
something that knows about styles (4Dwm), and there is a terminal
emulator, Xwsh, which is connected to ksh that I told to rlogin to
another machine, and on the ksh on the other machine I invoked trn
which started up vi which is sending the screen-clear and so on needed
way back at the Xwsh program.
Notice that none of the shells or rlogin (or ssh if I were using that)
are terminal emulators: a different piece entirely was the terminal
emulator -- a piece that would correspond most closely to the Putty
you mentioned. Notice the terminal emulator Xwsh is not any of the
several layers of shells, nor is the terminal emulator any of the
network transport layers.
So... you *were* wrong, shell programs do not emulate any
terminal, and are not responsible for what appears (or not) on the
screen.