Assigning value to a variable

Is there any difference between:

set variable=39

and

variable=39

Both statements are used to assign values to variables, the first statement in csh and derivatives (tcsh). The second in Bourne sh and derivatives (bash/ksh/zsh).