@NickD answered the question well. But you can also do this, just to inhibit showing messages for set-fill-column:
(setq indent-tabs-mode nil
(let ((inhibit-message t))
inhibit-message is a variable (added in 25.1), not a function (I mention this because you've written it like a function call).
Therefore you can set its value buffer-locally:
(setq-local inhibit-message t)
Where you would do that would depend on your specific requirements.
For a particular mode you can use the associated mode hook. For foo-mode you would ...
Regarding the specific example case...
set-fill-column is a command which is only intended to be used interactively.
To set the fill column programmatically, just do this:
(setq fill-column 80)
Which is exactly what set-fill-column would do, after validating that 80 was a valid argument and displaying the message -- but you don't need anything to validate 80 ...
Your confusion is on account of using C-xC-e
C-x C-e runs the command eval-last-sexp (found in global-map), which
is an interactive compiled Lisp function in ‘elisp-mode.el’.
It is bound to C-x C-e.
Evaluate sexp before point; print value in the echo area.
Interactively, with a non ‘-’ prefix ...
I found the answer here:
You suppress the message with advice-add
(defun suppress-messages (old-fun &rest args)
"Suppress messages from OLD-FUN with ARGS.
(cl-flet ((silence (&rest args1) (...