Well, I am overstating the case against ev but fundamentally,
the co-existence of
Z the symbol
and
Z:3 the binding of Z as a programming language variable to 3
leads to confusion sooner or later.
Especially since Macsyma is perfectly happy to allow you
to assign names recursively to themselves.
e.g. in a fresh Macsyma, Z:Z+1. (Maple forbids this I think).
So I recommend that as much as possible be done with
substitution semantics.
subst(z+3,z,expression)
rather than
z:z+3;
ev(expression)
RJF