I have seen many math books, and some of them, very good books, that say that $0!=1$ 'by convention'. I think that $0!$ must be $1$ because it is the product of the empty set. That is, for $a\neq 0$, $$a^0=0!=\prod\emptyset=1$$ What do you think?
EDIT: I'm not asking for a proof that $0!=1$, I really don't be needed to prove that. The question is, again, 'what do you think?', that is, do you think that is more convenient to define $0!=1$ by... well, convention, or is it better to see $0!$ as an empty product?
In other words, this is a soft question.
One way to define $n!$ is that it’s the number of bijections from a set with $n$ elements to itself ,If the set is empty then the number of elements is $0$ hence $0!=1$ ,since there is only one bijection from the empty set to itself .
It is also notationally useful for example the power series of $\exp(x)$ is $\sum_{0}^{\infty}x^n/n!$ this makes use of $0!=1$ .
Another advantage is in combinatorics the number of ways to arrange $n$ objects is $n!$ , so the number of ways to arrange $0$ objects is $1$ ,this makes sense .